2015-04-15 52 views
0

我需要檢查球對撞機是否仍然留在網格對撞機中。 現在我用:在Unity3D中如何檢測碰撞觸摸並保持在其他碰撞器中?

void OnCollisionEnter(Collision info) 
{ 
    Debug.Log("enter"); 
} 
void OnCollisionStay(Collision info) 
{ 
    Debug.Log("stay"); 
} 

void OnCollisionExit(Collision info) 
{ 
    Debug.Log("out"); 
} 

這裏是現場:

的onCollisionStay()每幀將執行,但是當來到現場之前,調試不記錄繼續下去,但「外出」 。

所以,我需要知道爲什麼住事件不留以及如何檢測一個撞機

留在了另一隻裏面和聯繫?

回答

0

增加球形碰撞器的大小或在碰撞保持功能中使用「延遲」選項。你的問題有點笨拙,你想做什麼,清楚地說清楚。

+0

球體像點一樣小。當我將球體移動到網格物體對撞機中時,我希望OnCollisionStay()應該每幀執行一次,但不是。只記錄「停留」幾幀,沒有任何變化 – xuwave

0

您能否介紹一下網格碰撞器的更多細節?碰撞對象可能很小,並且在某些情況下,球體的一部分(不是完整的球體,所以你認爲OnCollisionStay仍然應該被調用)離開網格對撞機,從而激活OnCollisionExit(),但由於OnCollisionEnter()沒有被回調,OnCollisionStay()永遠不會再被調用。

也許你可以檢查。