私の現在の(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);
}