Unity 碰撞檢測 OnTriggerEnter 入門


當我們需要檢測兩個物體A和B發生碰撞的時候,必須要滿足一下條件

1:A和B必須有碰撞邊界,你可以點開一個A,在屬性窗口點擊AddComponent,在physis(物理)目錄下看到以下這些

,根據形狀選擇一個就好了

2:碰撞的發起者需要添加RigidBody(就是俗稱剛體),將Is Kinematic設置為True,告訴Unity,這個物體的碰撞行為我來負責,不用你物理引擎操心了。

3:為了碰撞腳本OnTriggerEnter可以偵測到碰撞行為,需要將IsTrigger設置為true,這就告訴Unity,這個物體的碰撞行為我來負責,不用你物理引擎操心了。

發起者和接受者其中設置一個就可以了,你也可以根據需要全設置。

4:根據職責划分,將碰撞腳本掛載在發起者或者接受者上。

 

所以,最后我們看到的結果是這樣子的:

發起者:

 

接受者:

 

我們寫了測試腳本

void OnTriggerEnter(Collider other)
    {
        Debug.Log(other.name);
    }

點擊運行之后,將發起者拖到接受者上,腳本檢測碰撞成功,輸出發起者名字

有趣的是,如果是我們拖動接受者到發起者上,腳本檢測不到碰撞的。


免責聲明!

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



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