0

私の現在の(Unity 3.3 IOS)プロジェクトでは、キャラクターが橋を渡って歩いています。キャラクターが橋から落ちると、燃える川に落ちて爆発します。問題は、彼がブリッジにいるとき、レイキャストがブリッジのリジッドボディを読み取り、すぐに爆発することです。シーン ウィンドウで彼を屋外の位置に再配置すると、重力によって彼は川に落ち、計画どおりに爆発します。次のコード行を追加して、レイキャストが「平面」に当たった場合にのみ破棄するように指定しました。うまくいきません。

if(hit.collider.gameObject.name == "plane");

キャラクターは橋の上や、飛行機や炎の川にぶつかっても破壊されません。

彼が足を踏み入れようとしている橋や建物がいくつかあるので、レイキャストが飛行機に当たった場合にのみ、彼を破壊/爆発させたいと思っています。

コードが機能しない理由や修正方法を教えてもらえますか?

これが私の完全な Raycast コードです。

var explosion : Transform;
var point : Vector3;
var explosionRotation : Quaternion;

function Update()
{
    var hit :RaycastHit;
    var dwn = transform.TransformDirection(Vector3.down);
    if (Physics.Raycast(this.transform.position,dwn,hit,3))           
        if (hit.collider.gameObject.name == "plane")
        {
            point = hit.point;
            explosionRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
            Explode();
        }
}

function Explode()
{
    Destroy(this.gameObject);
    var instanExplosion = Instantiate(explosion, point, explosionRotation);
}
4

1 に答える 1