移動GameObject,綁定BoxCollider,Istrigger選中。
固定GameObject,綁定BoxCollider,剛體屬性,IsKinematic選中。
此種情況下,移動GameObject中的OnTriggerEnter()很多時候都無法被觸發。
移動GameObject,綁定BoxCollider,剛體屬性,IsKinematic選中。
固定GameObject,綁定BoxCollider,Istrigger選中。
此種情況下,固定GameObject中的OnTriggerEnter()能穩定觸發。
另外在遊戲幀率太低的情況下,OnTriggerEnter()可能不會被觸發,沒經過測試,只是可能。
更新:
當IsKinematic選中時,剛體會進入休眠狀態。
rigidbody.IsSleeping()返回值爲true。
對於前面的第一種情況。固定的GameObject的剛體屬性中,IsKinematic 不選中。
在Update函數中持續調用 rigidbody.WakeUp();
可以使移動的GameObject中的Collider的Tigger響應(移動物體無剛體屬性)。
爲了使固定的GameObject在IsKinematic在不選中的情況下保持靜止,勾選rigidbody下的Freeze Position 和 Freeze Rotation
原文鏈接:http://blog.sina.com.cn/s/blog_aa2a90440101ia9p.html
聲明: 本文由( liuxiaoni )原創編譯,轉載請保留鏈接: Unity3D 中使用OnTiggerEnter遇到的不觸發問題