Unity事例ノート

UNITY

Prefabからヒエラルキーのオブジェクトを取得

生成されたPrefabの側から、ヒエラルキー内のオブジェクトを取得できる仕組みを作ってみましょう。

オブジェクトだけでなく、変数も取得できるようにスクリプトを作成します。

今回の例では、1秒おきに発射される球(Prefab)のパワー数値を、ヒエラルキーにあるオブジェクトから取得してみます。

Prefabから他の変数を取得

空のオブジェクト(アクセスされる側)を作成します。

この位置から、1秒おきに球を発射させるようにします。

BallShot.csを作成し、GameObject(空のオブジェクト)に追加します。

BallShot.csを記述します。

続いて、Sphere(アクセスする側)を作成し、リジッドボディを追加します。

Ball.csを作成し、Sphereに追加します。

Ball.csを記述します。

Sphereをプレハブ化します。

Sphereの元データは削除しておきます。

プレハブのフィールドに、Sphereを入れます。

ゲームプレイしてみましょう。

1秒おきにPrefabデータ(Sphere)が発射されます。

発射されたSphereを見てみると、ヒエラルキー内のGameObjectを取得できていることが確認できます。

さらに、BallShotクラス内にあるpower(変数)を取得して、ボールに加える力をランダムにしています。

SCHOOL教室案内