這裏有很多U3D資源、U3D培訓視頻、U3D教程、U3D常見問題、U3D項目源碼,我們致力於打造業內unity3d培訓、學習第一品牌
能檢測碰撞發生的方式有兩種:
一、利用碰撞器
定義:碰撞器是一羣組件,它包含了很多種類
特點:必須加到GameObjecet身上
三種碰撞器:
1.Static Collider 靜態碰撞器
指的是沒有附加剛體而附加了碰撞器的遊戲對象。這類對象會保持靜止或很輕微的移動。這對於環境模型十分好用,比如剛體和牆面碰撞時而不會移動。
2.Rigidbody Collider 剛體碰撞器
指的是附加了剛體和碰撞器的遊戲對象。
3.Kinematic Rigidbody Collider 運動學剛體碰撞器
在第2點得基礎上勾選了剛體組件中的IsKinematic屬性,如果要移動這類對象,就只能修改它的Transform,而不是用力。這類遊戲對象還有許多其他的獨特的使用情景。
二、利用觸發器
定義:所謂觸發器,只需要在檢視面板中的碰撞器組件中勾選IsTrigger屬性選擇框
代碼方面:
兩種方式的檢測:
觸發信息檢測:
①:MonoBehaviour.OnTriggerEnter( Collider other )當進入觸發器
②:MonoBehaviour.OnTriggerExit( Collider other )當退出觸發器
③:MonoBehaviour.OnTriggerStay( Collider other )當逗留觸發器
碰撞信息檢測:
②:MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 當退出碰撞器
③:MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 當逗留碰撞器