0

Unity で 2D ゲームを作成しようとしていますが、2 つのオブジェクトが実際にいつ衝突するかを伝えるのではなく、2 つのオブジェクト間に衝突があるかどうかを確認する方法があるかどうか知りたいと思っていました。

例 - スペース インベーダー ゲームを作成していて、C# スクリプトで実際に移動する前に、エッジにあるスペース インベーダーのいずれかがエッジと衝突するかどうかを確認したいと考えています。私は Game Maker Studio でコーディングしましたが、その機能が利用可能だったことを覚えていますが、Unity でそれが可能かどうかを調べるのに苦労しています。これはUnityで可能ですか?

助けてくれてありがとう。

4

1 に答える 1

1

はい、可能です。ゲームオブジェクトが移動している方向に何らかのレイキャスティングを行う必要があります。このリンクの Physics.Raycast をチェックして、やりたいことを実行する方法を確認できます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        Vector3 fwd = transform.TransformDirection(Vector3.forward);
        if (Physics.Raycast(transform.position, fwd, 10))
            print("There is something in front of the object!");

    }
}
于 2014-11-25T04:03:57.017 に答える