`

Unity3d Trigger 和 Collision 使用

阅读更多

大致研究了下,可以有这几种情况:

  • 如果物理视觉上有碰撞,则在OnCollisionEnter中实现。要求双方都具有Rigidbody,双方都是可见的物体。应用上偏向于可见的碰撞。
  • 如果物体经过某一不可见区域,比如踩点事件,则使用OnTriggerEnter。要求至少1方拥有Rigidbody,并且有1方加入Trigger。应用上偏向于事件触发(顾名思义),比如Player进入某个区域或是站到某个位置。

另外,OnCollisionEnter传递的是collision对象,通过此对象可以获得相应的碰撞体的transform、rigidbody、gameObject等对象;OnTriggerEnter传递的则是collider碰撞器,其可以获得碰撞器的材质等信息。此外,collision对象中包含了collider对象。比较复杂。

其他待定。。。

分享到:
评论

相关推荐

    Unity3D入门 :简单的碰撞检测

    9. **Trigger组件**:如果仅需要检测碰撞而不关心物理效果,可以使用Trigger,例如 OnTriggerEnter、 OnTriggerStay 和 OnTriggerExit 方法,它们类似碰撞事件,但不需要Rigidbody。 10. **碰撞后的响应**:在碰撞...

    unity3D 下雨效果

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏、实时可视化应用以及虚拟现实体验。在Unity中实现下雨效果是通过粒子系统(ParticleSystem)来完成的,这是一种非常有效的模拟自然现象的方法。下面...

    C# unity3D坦克大战源码

    源码中,你会看到如何使用Update()函数来处理游戏循环,以及如何利用 collision 和 trigger 事件来检测和响应物体间的交互。 7. **资源管理** Unity3D提供了强大的资源管理系统,可以加载和卸载资产。在坦克大战中...

    Unity3D判断两个物体相交脚本2

    在Unity3D中,我们通常使用Collider组件和Trigger事件来实现这一功能。 Collider是Unity3D中的一个组件,它负责定义游戏对象的物理形状,如Box Collider、Sphere Collider、Mesh Collider等。这些Collider可以与...

    Unity3d贪吃蛇

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于创建2D和3D游戏、互动体验以及虚拟现实应用。"Unity3d贪吃蛇"项目是一个适合新手入门的学习资源,它利用Unity3D来实现经典的2D游戏——贪吃蛇的3D版本。在这个项目...

    rollball_unity3D游戏_

    - 利用Unity3D的Collision或Trigger事件进行碰撞检测,当小球碰到硬币或其他障碍物时,触发相应的事件处理。 - 例如,当小球碰到边界时反弹,碰到硬币时播放音效并消除硬币。 7. **动画与特效**: - 给小球和...

    unity 3d 2.6 官方手册碰撞节中文翻译

    Unity 3D是一款广泛应用于游戏开发、虚拟现实和增强现实领域的强大引擎,它以其易用性和高效的性能赢得了全球开发者们的喜爱。在Unity中,碰撞检测是游戏物理系统的关键部分,它使得游戏对象能够感知并响应与其他...

    Unity射击游戏《全民飞机大战》源码.zip

    此外,Unity3D的碰撞检测(Collision Detection)和刚体(Rigidbody)系统是处理游戏物理交互的基础。在《全民飞机大战》中,玩家的飞机与敌机、子弹之间的碰撞效果,都需要通过这些系统来实现。源码会展示如何设置...

    U3D学习心得

    4. **物理系统**:了解触发器(Trigger)、碰撞体(Collision)和刚体(Rigidbody)的使用,它们在游戏中的物理交互起着关键作用。 5. **简单AI实现**:编写简单的敌人坦克AI脚本,让敌人具有自动追踪和攻击玩家的能力。 ...

    Unity面试题.doc

    25. Prefab是对象模板,便于重复使用和版本控制。在移动设备上应优化Prefab大小和数量。 26. 销毁Unity Object使用Destroy()函数,销毁子对象还需考虑DestroyImmediate()。 27. 组件数据丢失可能因序列化问题或...

    Unity游戏项目源码 射击游戏 完整版.zip

    Unity是一款强大的跨平台游戏开发引擎,被广泛应用于2D、3D游戏以及虚拟现实(VR)和增强现实(AR)项目。本项目源码是一个完整的射击游戏,对于学习Unity游戏开发的初学者来说,是一个极好的实践案例。本文将深入探讨该...

    unity 粒子特效

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏、互动体验以及虚拟现实应用。其中,粒子系统是Unity3D中的一个重要组成部分,它允许开发者创建出各种复杂的视觉效果,如火焰、烟雾、水波、光晕、...

    7-12(Body碰撞监听).7z

    例如,在Unity3D中,我们可以使用`OnCollisionEnter`, `OnCollisionStay`, 和 `OnCollisionExit` 这些回调函数来响应碰撞的开始、持续和结束。在Box2D中,我们可以注册ContactListener来处理相同的功能。 5. **碰撞...

    SampleUnity3D

    本篇文章将深入探讨基于"SampleUnity3D"项目中的关键知识点,帮助读者更好地理解和掌握Unity3D的开发技巧。 1. **Unity3D基本概念** - **场景(Scene)**:Unity中的工作单元,可以理解为游戏的一个关卡或屏幕。 - ...

    Amplify+Color+1.63

    第四步:返回unity3d找到Window,选择LUT Editor。选择settings——password——密码选择自己当时设置的密码。 第五步:选择Photoshop——Send screenshot to Photoshop进入PS,进行调色,调色完成后,进入Read ...

    Unity_Physics_Project

    4. **碰撞检测(Collision Detection)**:Unity使用基于广义坐标(GJK)和分离轴定理(SAT)的碰撞检测算法,确保游戏对象在物理交互时能正确响应。开发者可以通过OnCollisionEnter()、OnCollisionStay()和...

    Ball-Climb

    开发者可能使用Rigidbody的MovePosition或AddForce方法来控制小球的运动,并通过Collision或Trigger事件来处理碰撞。 3. **用户输入处理**:游戏可能需要响应用户的键盘或触摸输入,让小球进行跳跃或滚动。C#中的...

Global site tag (gtag.js) - Google Analytics