碰撞檢測

歡迎來到unity學習unity培訓

這裏有很多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.OnCollisionEnter( Collision collisionInfo ) 當進入碰撞器
    ②:MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 當退出碰撞器
    ③:MonoBehaviour.OnCollisionStay( Collision collisionInfo )  當逗留碰撞器
發佈了50 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章