3D触发器与碰撞器

 

触发信息检测:

  1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器

  2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器

  3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器

碰撞信息检测:

  1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器

  2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器

  3.MonoBehaviour.OnCollisionStay(Collision collision) 当逗留碰撞器

 

2D触发器与碰撞器

 

触发信息检测:

  1.MonoBehaviour.OnTriggerEnter2D(Collider2D)当进入2D触发器

  2.MonoBehaviour.OnTriggerExit2D(Collider2D)当退出2D触发器

  3.MonoBehaviour.OnTriggerStay2D(Collider2D) 当逗留2D触发器

碰撞信息检测:

1.MonoBehaviour.OnCollisionEnter2D(Collision2D) 当进入2D碰撞器

2.MonoBehaviour.OnCollisionExit2D(Collision2D) 当退出2D碰撞器

3.MonoBehaviour.OnCollisionStay2D(Collision2D)当逗留2D碰撞器

 

物体发生碰撞的必要条件:

  碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

碰撞器:一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。

触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

 

 

一:产生碰撞的条件

1:若要产生碰撞,必须双方都要有碰撞器。

2:运动的一方一定要有刚体,另一方有无刚体无所谓。

注:如果运动的一方无刚体,它去碰撞静止的刚体,相当于没有装上。

 

二:接触的两种方式

1:Collision碰撞,造成物理碰撞,可以在碰撞时执行OnCollision事件。

2:Trigger触发,取消所有的物理碰撞,可以在触发时执行OnTrigger事件。

注:两个物体接触不可能同时产生碰撞+接触,最多产生一种。但是可以AB产生碰撞,AC产生触发。

 

三:产生不同方式接触的条件

1:Collision碰撞

     (1):双方都有碰撞体

     (2):运动的一方必须有刚体

     (3):双方不可同时勾选Kinematic运动学。

     (4):双方都不可勾选Trigger触发器。

2:Trigger触发

     (1):双方都有碰撞体

     (2):运动的一方必须是刚体

     (3):至少一方勾选Trigger触发器

 

四:接触后事件细分为Enter,Stay,Exit三种(以Trigger为例,分别为OnTriggerEnter、OnTriggerStay、OnTriggerExit)

1:Enter事件表示两物体接触瞬间,会执行一次。

2:Stay事件表示两物体持续接触,会不断执行。

3:Exit事件当两物体分开瞬间,会执行一次。

 

五:碰撞规则表

 

Unity 触发器与碰撞器介绍,不要弄混!_其他

 Unity 触发器与碰撞器介绍,不要弄混!_2d_02

如果文章对您有帮助的话请点个赞鼓励下博主吧! 

 

@Liam:有用→收藏→关注   听说长得好看的人都这么做!