unity触发器和碰撞器

  Unity中检测碰撞的方法有两种,一种是触发器一种是碰撞器,现在我来解释一下两种的区别。

  触发器:有三种方法,分别是OnTriggerEnter,OnTriggerStay,OnTriggerExit 触发器一般是触发某种事物时使用,例如计分,过关什么的,不带有碰撞的物理效果。

  碰撞器:有三种方法,分别是OnCollisionEnter,OnCollisionStay,OnCollisionExit 碰撞器一般是碰撞某种事物时使用,例如撞车,击中目标,带有碰撞的物理效果。

  代码:

  触发器:

 1  void OnTriggerEnter(Collider other)
 2     {
 3         print("方法里写你想要的效果");
 4       
 5     }
 6 
 7  void OnTriggerStay(Collider other)
 8     {
 9         print("方法里写你想要的效果");
10       
11     }
12 
13  void OnTriggerExit(Collider other)
14     {
15         print("方法里写你想要的效果");
16       
17     }

  碰撞器:

 1  void OnCollisionEnter(Collision other)
 2     {
 3         print("方法里写你想要的效果");
 4       
 5     }
 6 
 7  void OnCollisionStay(Collision other)
 8     {
 9         print("方法里写你想要的效果");
10       
11     }
12 
13  void OnCollisionExit(Collision other)
14     {
15         print("方法里写你想要的效果");
16       
17     }

  当然,这些是在3D的情况下,如果你做的是2D的游戏的话请在方法后面加上2D,如下:

  

1   void OnTriggerEnter2D(Collider2D collider)
2     {
3         print("方法里写你想要的效果");
4     }
5 
6   void OnCollisionEnter2D(Collision2D other)
7     {
8         print("方法里写你想要的效果");
9     }

  其它的一样。

  需要注意的是,当你使用触发器的时候别忘了打开触发器开关哦

  

原文地址:https://www.cnblogs.com/yunquan/p/5783590.html