▶
【Unity連載】プログラムからGameObjectやComponentの有効無効を切り替える
▶
【Unity連載】ランダムな要素の作成には乱数を使おう
▶
【Unity連載】Enumを使ってゲーム中の状態や条件をわかりやすく管理しよう
▶
【Unity連載】オブジェクトの親子関係
▶
【Unity連載】ワールド空間とローカル空間
▶
【Unity連載】オブジェクトの向き(ベクトル)の取得
▶
【Unity連載】コンソールにログを出力しよう!
▶
【Unity連載】条件分岐をしよう!(if文)
▶
【Unity連載】条件分岐をしよう!(switch文)
1.導入・準備編 ~ この連載について ~
2.導入・準備編 ~ 初期設定とUIの作成 ~
3.プロトタイプ編 ~ 壁・床・天井の作成 ~
4.プロトタイプ編 ~ プレイヤー作成 part1 ~
5.プロトタイプ編 ~ プレイヤー作成 part2 ~
6.プロトタイプ編 ~ プレイヤー作成 part3 ~
7.プロトタイプ編 ~ 箱の作成 part1 ~
8.プロトタイプ編 ~ 箱の作成 part2 ~
9.プロトタイプ編 ~ シーンの制御 part1 ~
10.プロトタイプ編 ~ シーンの制御 part2 ~
11.プロトタイプ編 ~ ゴール・トラップの作成 ~
12.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part1 ~
13.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part2 ~
14.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part3 ~
15.アセット編 ~ アセットストアの使い方と壁・床・天井への適用 ~
16.アセット編 ~ 箱の作成 part1 ~
17.アセット編 ~ 箱の作成 part2 ~
1.プレハブとは
ゲームを作成していると、ゲームオブジェクトを複製して使用する機会が多くありますよね。
例えば、敵モンスターやNPC、アイテムや弾幕シューティングにおける弾など、(ほとんど)同じパラメータを持つゲームオブジェクトが複数登場する場合には、個々のゲームオブジェクトを一から作成していくのではなく、ひとつ元となるゲームオブジェクトを作成して、それを複製していった方が作業が楽です。
既存のゲームオブジェクトを複製するには、ヒエラルキービュー上で複製したいゲームオブジェクトを右クリックしてDuplicate(複製)を選択すれば良いのですが、この方法では『複製元のゲームオブジェクトの変更が複製先に反映されない』という問題に直面します。
例えば、既に1000個ゲームオブジェクトを複製済みの状態で、「やっぱり(色を変えるなど)設定変更するか~」となった場合、1000個のゲームオブジェクトすべてに個別で修正作業を行う必要があります。
通常の複製機能が持つこうした不便な点を解消してくれるのが、プレハブと呼ばれる機能です。
プレハブは、ゲームオブジェクトの設計図のようなものです。
プレハブを元にゲームオブジェクトを複製した場合、複製元であるプレハブの設定値を変更することで、その変更が複製先のゲームオブジェクトすべてに適用されるようになります。
本記事では、プレハブの作り方からプレハブを元にゲームオブジェクトを生成する方法まで解説していきます。
2.プレハブの作成
プレハブはゲームオブジェクトを元に作成します。
今回は例として、Sphereを元にプレハブを作成します。
パラメータは以下のように変更しましょう。
■3D Object > Sphere
・Transform.Scale の値変更
・マテリアルの追加(赤色)
それではプレハブを作成しましょう!
作成方法は簡単です。
先ほど作成したゲームオブジェクトをヒエラルキービューからプロジェクトビューにドラッグ&ドロップするだけです。
プロジェクトビューにSphereという名前のファイルが作成されました。
これがプレハブです。
3.ゲームオブジェクトの複製
2.プレハブの作成で作成したプレハブを元にゲームオブジェクトを複製しましょう。
こちらも操作は簡単です。
プレハブをプロジェクトビューからヒエラルキービューにドラッグ&ドロップするだけです。
元のゲームオブジェクトと同じゲームオブジェクトが生成されたことが確認できましたでしょうか。
なお、このようにプレハブを元に生成したゲームオブジェクトのことをインスタンスと呼びます。
良く登場する用語ですので、この機会に覚えてしまってください。
ここで、ヒエラルキービューの表示に注目してみましょう。
Sphereのアイコンが水色に変わっています。
水色のアイコンは、このゲームオブジェクトがプレハブを元にして作成されたことを表しています。
注意したいのは、プレハブを作成する元となったゲームオブジェクト(今回で言うとSphere)も水色のアイコンになっていることです。
プレハブの作成元となったゲームオブジェクトも、プレハブから複製されたものと同様の扱いとなります。
次の記事ではプレハブの編集方法について解説します。併せてご確認ください。
▶
【Unity連載】プログラムからGameObjectやComponentの有効無効を切り替える
▶
【Unity連載】ランダムな要素の作成には乱数を使おう
▶
【Unity連載】Enumを使ってゲーム中の状態や条件をわかりやすく管理しよう
▶
【Unity連載】オブジェクトの親子関係
▶
【Unity連載】ワールド空間とローカル空間
▶
【Unity連載】オブジェクトの向き(ベクトル)の取得
▶
【Unity連載】コンソールにログを出力しよう!
▶
【Unity連載】条件分岐をしよう!(if文)
▶
【Unity連載】条件分岐をしよう!(switch文)