触发器

什么是触发器?

为此,你将使用触发器触发器是一种特殊类型的碰撞体。触发器不会阻止移动,但是物理系统仍会检查角色是否会与触发器碰撞。当你的角色进入触发器时,你将收到一条消息,以便你可以处理该事件。
 

在 Unity 3D 中,检测碰撞发生的方式有两种:

 

  • 利用碰撞体(Collider)。

 

  • 利用触发器(Trigger)。

在很多游戏引擎或工具中都有触发器,它被用来触发事件。

例如,在游戏中的剧情里,玩家通过某个任务道具召唤了任务相关的 NPC 或者可击杀的怪物,就可以用触发器来实现。

当绑定了碰撞体的游戏对象进入触发器区域时,会运行触发器对象上的 OnTriggerEnter 函数,同时需要在检视面板中的碰撞体组件中勾选 IsTrigger 复选框

触发信息检测使用以下 3 个函数:

  • MonoBehaviour.OnTriggerEnter(Collider collider),当进入触发器时触发。

 

  • MonoBehaviour.OnTriggerExit(Collider collider),当退出触发器时触发。

 

  • MonoBehaviour.OnTriggerStay(Collider collider),当逗留在触发器中时触发。

 

Unity 3D 中的碰撞体和触发器的区别在于:

 

  • 碰撞体是触发器的载体。

 

  • 触发器只是碰撞体的一个属性。

如果既想要检测到物体的接触,又不想让碰撞检测影响物体移动,或者要检测一个物体是否经过空间中的某个区域,这时就可以用到触发器。

例如,碰撞体适合模拟汽车被撞飞、皮球掉在地上又弹起的效果,而触发器适合模拟人站在靠近门的位置时门自动打开的效果。

posted on 2021-12-07 13:55  ZhYQ_note  阅读(298)  评论(0)    收藏  举报

导航