0

弾丸 (リジッドボディとボックス コライダーを持つ) がモデル (CharacterController とメッシュ コライダーを持つ) に当たるかどうかを検出しようとしていますが、機能しません。立方体 (CharacterController と Box Collider もある) で同じスクリプトを試すと、完全にうまく機能します。これをトリガーにして OnTriggerEnter を使用しようとしましたが、モデルではまだ機能しませんが、キューブでもうまく機能します。これが私のコードです。

function OnControllerColliderHit (hit : ControllerColliderHit)
{       
    //doesnt work for either of them   
    if(hit.gameObject.tag == "bullet")
    {
        print("i have been hit by a bullet");
    }
}

function OnTriggerEnter(hit : Collider) 
{
    //works for the cube and not the model
    if(hit.gameObject.tag == "bullet")
    {
        print("i have been hit by trigger hit ");
    }
}
function OnCollisionEnter(hit: Collision) 
{
    //works for the cube and not the model
    if(hit.gameObject.tag == "bullet")
    {
        print("i have been hit by trigger hit ")
    }
}
4

1 に答える 1

0

キャラクター コントローラーの衝突検出は、衝突した 2 つのオブジェクトにキャラクター コントローラーが含まれている場合にのみ機能します。

したがって、弾丸はモデルと競合しません。

キャラクターコントローラーが含まれているため、立方体がモデルと衝突します。ボックスコライダーを削除しても、キューブはモデルとの衝突を検出します。

どの衝突システムを使用するかを選択する必要があります。

Bullet にキャラクタ コントローラを追加すると、コリジョンが機能します。

お役に立てれば!

于 2013-10-14T12:41:54.753 に答える