Prefabってなに?

はじめに

Unity解説記事で頻出の「Prefab」.指示に従って何度か使っていても,これが何なのかよくわからないままのことが多いですよね?

みんな使ってるから便利な機能ではあるはず...今回はそんなPrefabについてしっかりと解説してみます!

Prefabとは「設計図」である

なぜPrefabを使うのか

「設計図」であるPrefabを用意しておけば,オブジェクトの管理や生成がとても行いやすくなります.スクリプトから呼び出す際も,わかりやすい名前を付ければアクセスがしやすいです.

またPrefabで特に便利な機能として,一括修正ができることがあります.同じPrefabから生成したオブジェクトであれば,元のPrefabを変更するだけですべてのオブジェクトに変更が反映されます.

大量に用意した同じオブジェクトを一つ一つ修正するなどどいう果てしない作業は考えたくもないですね!Prefabを活用すればそのようなことを避けることができます.

複数回使う可能性のあるオブジェクトは必ずPrefabにしておきましょう.

Prefabの作り方

それではじっさいにPrefabを作成してみましょう.

まずは元となるオブジェクトを用意します.シーンに適当なオブジェクトを用意してください.

今回はcubeを用意しました.これに新しいマテリアルをセットし,色を青に変えておきます.

マテリアルの作成およびオブジェクトへの追加はこちらの記事をチェック!

404 NOT FOUND | 東風note
こちさんの作業記録・趣味ブログ

【準備中】青いキューブ,マテリアル

次に,用意したオブジェクトをPrefabにします.用意したオブジェクトをもとに,次から使える設計図に変換すると考えてください.

Prefabの作り方はとても簡単です.PrefabにしたいオブジェクトをProjectウィンドウにドラッグ&ドロップするだけです.

混乱を避けるため,Prefabフォルダ以下に置いておくことを強くお勧めします.

【gif】Prefabを作る

Prefabを更新する方法

それではPrefabを編集してみましょう.確認のためにPrefabを使ってシーンにオブジェクトを生成しておきます.

Projectウィンドウで編集したいPrefabをダブルクリックします.すると編集モードになり,変更できるようになりました.

ここでは色の違う別のマテリアルを用意し,付け替えてみます.

【gif】編集モード,色変え

このようにもとのPrefabを編集すると,おなじPrefabから生成されたオブジェクトをすべて変更することができます.

ちなみにもし個別に変更したい場合は以下の記事を参考にしてみてください!

404 NOT FOUND | 東風note
こちさんの作業記録・趣味ブログ

【応用編】階層構造のPrefab

例えば剣と盾を持つキャラを生成したい時を考えます.剣や盾はほかのキャラも使うので,当然Prefabが用意されているものとします.

敵の雑魚キャラとして剣と盾を装備した状態のキャラをたくさん生成したい場合,キャラと剣と盾を一つのPrefabにまとめてしまうことができます.

【準備中】例の二つの状態の違い

このように,別で作ったPrefabをセットにした(階層上にした)Prefabを作成することができます.使い方次第で様々な応用ができそうですね!

Prefabからオブジェクトを作る

それでは作成したPrefabをもとにオブジェクトを呼び出してみましょう.

シーンにドラッグ&ドロップすることで設計図通りの青色のcubeを作成できました!

【gif】prefabを作成する

もちろんスクリプトからも呼び出すことができます.スクリプトからの呼び出し方は以下の記事で解説しています!

タイトルとURLをコピーしました