お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
学習コンセプトカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】Prefabのポジションを個別に変更

Instantiateで生成したPrefab(プレハブ)が複数の場合、それぞれの出現ポジションを変更したいときがあります。

前回と同じシーン上で配列を使い、2種類のPrefabを生成。個別に座標を変えてみましょう。

配列を使ったPrefabの生成

GameManager.cs はこのように配列変数として書きかえました。

Unityのインスペクターに、サイズの項目が追加されます。

Prefabは2種類なので2を入力。それぞれにドラッグ&ドロップしましょう。

GameManager.cs に書き足します。

カウントアップに変数を用いて、Cube1とCube2を順番に生成しました。

Prefabの位置を変える

でもこの場合、生成されるポジションは2つとも、X:-40、Y:ランダム、Z:30 なんですね。

シーンを上から見てみると。

このように2つとも、Z:30を通過しています。

そこで、Cube2だけZ方向のポジションを10移動させてみましょう。

まずCube2のプレハブをヒエラルキーへドラッグ&ドロップ。

続いて、空のオブジェクトを作成し、名前を変更します。ここではCube3にしました。

そして、Cube3の中にCube2を入れ、親子関係をとります。

プロジェクトのPrefabsフォルダの中に、新しくつくったCube3を入れて、Prefab化します。

ヒエラルキーに残っているCube3は削除しましょう。

Cube3のPrefabを選択し、プレハブを開くから、Prefab編集画面へ。

Cube2を選び、Zを10まで動かしましょう。

再びシーンビューに戻ります。

GameManagerに、新しく作ったCube3を入れ直します。

プレイしてみましょう。

Z座標:10のところに、Cube3が出現しました。