【初心者Unity】プレハブの使い方①(作成・複製)
1.プレハブとは
ゲームを作成していると、ゲームオブジェクトを複製して使用する機会が多くありますよね。
例えば、敵モンスターやNPC、アイテムや弾幕シューティングにおける弾など、(ほとんど)同じパラメータを持つゲームオブジェクトが複数登場する場合には、個々のゲームオブジェクトを一から作成していくのではなく、ひとつ元となるゲームオブジェクトを作成して、それを複製していった方が作業が楽です。
既存のゲームオブジェクトを複製するには、ヒエラルキービュー上で複製したいゲームオブジェクトを右クリックしてDuplicate(複製)を選択すれば良いのですが、この方法では『複製元のゲームオブジェクトの変更が複製先に反映されない』という問題に直面します。
例えば、既に1000個ゲームオブジェクトを複製済みの状態で、「やっぱり(色を変えるなど)設定変更するか~」となった場合、1000個のゲームオブジェクトすべてに個別で修正作業を行う必要があります。
通常の複製機能が持つこうした不便な点を解消してくれるのが、プレハブと呼ばれる機能です。
プレハブは、ゲームオブジェクトの設計図のようなものです。
プレハブを元にゲームオブジェクトを複製した場合、複製元であるプレハブの設定値を変更することで、その変更が複製先のゲームオブジェクトすべてに適用されるようになります。
本記事では、プレハブの作り方からプレハブを元にゲームオブジェクトを生成する方法まで解説していきます。
2.プレハブの作成
プレハブはゲームオブジェクトを元に作成します。
今回は例として、Sphereを元にプレハブを作成します。
パラメータは以下のように変更しましょう。
■3D Object > Sphere
・Transform.Scale の値変更
・マテリアルの追加(赤色)
それではプレハブを作成しましょう!
作成方法は簡単です。
先ほど作成したゲームオブジェクトをヒエラルキービューからプロジェクトビューにドラッグ&ドロップするだけです。
プロジェクトビューにSphereという名前のファイルが作成されました。
これがプレハブです。
3.ゲームオブジェクトの複製
2.プレハブの作成で作成したプレハブを元にゲームオブジェクトを複製しましょう。
こちらも操作は簡単です。
プレハブをプロジェクトビューからヒエラルキービューにドラッグ&ドロップするだけです。
元のゲームオブジェクトと同じゲームオブジェクトが生成されたことが確認できましたでしょうか。
なお、このようにプレハブを元に生成したゲームオブジェクトのことをインスタンスと呼びます。
良く登場する用語ですので、この機会に覚えてしまってください。
ここで、ヒエラルキービューの表示に注目してみましょう。
Sphereのアイコンが水色に変わっています。
水色のアイコンは、このゲームオブジェクトがプレハブを元にして作成されたことを表しています。
注意したいのは、プレハブを作成する元となったゲームオブジェクト(今回で言うとSphere)も水色のアイコンになっていることです。
プレハブの作成元となったゲームオブジェクトも、プレハブから複製されたものと同様の扱いとなります。
次の記事ではプレハブの編集方法について解説します。併せてご確認ください。