プレハブ機能を使うことで、一つのオブジェクトをもとに複製したオブジェクトを一括で編集することができます。
本記事ではUnity初心者の方向けに、シーン作成で役立つプレハブ機能を説明します。
プレハブとインスタンス
プレハブとはオブジェクトのテンプレートのことで、プレハブを作ればそれをもとに同じオブジェクトを複製することができます。
そして、プレハブをもとに複製したオブジェクトのことを「インスタンス」といいます。
プレハブをもとに複数のインスタンスを作成すると、それらに変更を加えたくなったときにもとのプレハブに変更を加えるだけで、すべてのインスタンスに同じ変更内容が反映されます。
また、インスタンスごとに個別の変更を加えることもできます。
シーン作成の効率化に役立つので、同じオブジェクトを複製して使いたい場合には進んで利用しましょう。
プレハブの作り方
プレハブを作るには、もとにしたいゲームオブジェクトをHierarchyウィンドウからProjectウィンドウへドラッグ&ドロップします。
プレハブが作成された場合はProjectウィンドウ上に青いアイコンのプレハブが追加され、もとにしたゲームオブジェクトのアイコンも青に変化します。
これはもとにしたゲームオブジェクトが作成したプレハブのインスタンスになったことを意味しています。
インスタンスの作り方
インスタンスを作るには、もとにしたいプレハブをProjectウィンドウからシーンビューへドラッグ&ドロップします。
プレハブを編集する
プレハブを変更するとインスタンスに変更内容が反映されます。
プレハブを編集する方法はプレハブモードを使った方法と、インスタンスに変更を加えてそのインスタンスをプレハブに上書きする方法の二つがあります。
プレハブモードで編集する
プレハブモードで編集するには、Projectウィンドウから編集したいプレハブをダブルクリックします。
するとシーンビューにプレハブが表示され、プレハブを編集することができます。
プレハブモードを終了するときはHierarchyウィンドウ上部に表示されたくの字の戻るボタンを押してください。
インスタンスを元にプレハブに上書きする
インスタンスに加えた変更をプレハブに上書きしたいときは、そのインスタンスのInspector上部の「Overrides」をクリックして「Apply All」をクリックしてください。
ここで「Revert All」をクリックすると、インスタンスに加えた変更が破棄されてプレハブ通りのゲームオブジェクトに戻ります。
また、変更を加えたプロパティー名を右クリックするとその値のみでプレハブを上書きするか、プレハブ通りに戻すか選択できます。
他にもコンポーネントの縦三点リーダーを押して、Modified Component → Apply to Prefab…を押すことで、コンポーネントごとにプレハブを上書きすることもできます。
インスタンスを編集する
インスタンスは普通のオブジェクトと同様に編集することができます。
プレハブと同じ状態から値を変更した部分はInspectorで太文字で表示されます。
この部分はプレハブを変更した場合も変更内容が反映されません。
また、インスタンスを右クリックしてUnpack Prefabをクリックすることでインスタンス化を解除することもできます。
プレハブバリアントについて
プレハブバリアントはプレハブをもとに作成することができ、元のプレハブの派生として機能します。
プレハブバリアントをもとにインスタンスを作成することも可能で、プレハブバリアントに変更を加えるとインスタンスにも同じ変更が加えられます。
作り方
インスタンスを編集した後にHierarchyウィンドウからProjectウィンドウまでドラッグ&ドロップします。
出てきたウィンドウでPrefab Variantを選択することで作ることができます。
プレハブバリアントが作成された場合はProjectウィンドウ上に青と灰色のアイコンのプレハブバリアントが追加され、もとにしたゲームオブジェクトのアイコンも変化します。
編集方法
プレハブバリアントはプレハブと同様にプレハブモードを使った方法と、インスタンスに変更を加えてそのインスタンスをプレハブに上書きする方法で編集することができます。
また、元のプレハブに変更が加えられた場合には、プレハブバリアントにも同じ変更が加えられます。
元のプレハブと異なる部分はInspectorで太文字で表示され、元のプレハブに変更を加えてもプレハブバリアントのその部分には変更が反映されません。
以上がプレハブ機能の基本的な使い方の説明でした。
皆さんもぜひこの機能をシーン作成で使ってみてください。
STYLYにアップロードする方法
プレハブ化したゲームオブジェクトをSTYLYにアップロードしてみましょう。
アカウント作成方法
STYLYにアップロードする方法
UnityからSTYLYにアップロードする方法
STYLYに関する質問、バグ報告、改善してほしい要望はSTYLY FORUMまで
https://jp.forum.styly.cc/support/discussions