我只是告訴你這個鏡頭是否是爆頭。在我要扔的物體上,有兩個膠囊對撞機和一個球體對撞機。我想檢測拋出的物體是否撞到球體對撞機(爆頭)
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
多種選擇:
選項A:添加 3 個空,每個添加一個對撞機。將腳本添加到每個空,并使用 OnCollisionEnter/OnTriggerEnter 東西來檢測每個對撞機的命中。或者只是給每個對撞機一個不同的標簽并使用compareTag
.
選項B:您創建公共/序列化變數并拖動插槽中的碰撞器(檢查器)。然后,OnCollisionEnter(Collision collision)
將傳遞的引數與您的公共變數進行比較。
例子:
public SphereCollider head;
public CapsuleCollider body;
public SphereCollider feet;
...
void OnCollisionEnter(Collision collision)
{
if(collision.collider == head)
{
// headshot
}
}
它對觸發器 (OnTriggerEnter) 的作業方式相同。
如果您使用 Raycast,這里有一些重要提示:不要混淆hit.collider.transform
. 與hit.transform
. (假設您想在變換上使用 compareTag)
hit.transform
可以與hit.collider.transform
將碰撞器附加到與剛體(如果有)相同的變換相同。但是您可以將碰撞器作為剛體的子物件。然后,hit.transform
仍將回傳剛體變換,但hit.collider.transform
會為您提供附加了對撞機的實際子物件,即被射線擊中的子物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/520001.html
標籤:unity3d