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     }

  其它的一樣。

 

  需要注意的是,當你使用觸發器的時候別忘了打開觸發器開關哦

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM