Unity2018.3からプレハブの仕様が大きく代わり、新たにプレハブモードという状態が追加されました。今回はそのプレハブモードについて解説していきたいと思います。
プレハブの基本的な使い方については↓の記事を参考にしてください。
また、Nested PrefabsとVariant Prefabsについては↓の記事を参考にしてください。Nested Prefabsはプレハブの中にプレハブを入れる方法で、Variant Prefabsはプレハブの派生系を作るやり方です。
<プレハブモード(Prefab Mode)とは>
プレハブを編集できるモードです。
ヒエラルキー、インスペクター、シーンビューがプレハブ用の物に切り替わります。
ヒエラルキー上の「>」のマークをクリックするか、プロジェクトウィンドウでプレハブをダブルクリックするとプレハブモードに移行できます。
プレハブモードになるとそのプレハブだけを編集する画面になります。
ヒエラルキーとシーンビューの上の方になんのプレハブを見ているのかが表示されています。
プレハブの中のプレハブの場合は↑のようにどんどん階層が深くなっていきます。
本来直接大元のプレハブを変更するとそれを内包しているプレハブは独自パラメータ扱いになって変更をRevertしないと大元のプレハブの変更が適用されないのですが、↑のように階層を掘ってプレハブを変更すると、いちいちRevertしなくても変更が適用されます。
<オートセーブ(Auto Save)>
プレハブモードの状態だと、右上にオートセーブの項目があります。
ここにチェックが入っているとプレハブモードでの編集は自動で保存されます。
勝手に保存されるので色々変更してみて試してみたり、動かしてみたりしたい時はここのチェックを外しましょう。
チェックを外すと↑のようになります。これでオートセーブではなくなり、Saveボタンを押さないと保存されないようになります。
セーブがまだされていない状態でプレハブモードを解除しようとすると↓のようなダイアログがでます。
・Discard Changes・・・変更を破棄しプレハブモードを終了します。
・Cancel・・・プレハブモードに戻ります。
・Save・・・変更をセーブしプレハブモードを終了します。
<プレハブモードシーンについて>
デフォルトの状態でプレハブモードに移行しても、空のシーンでの編集画面でした。何か他のものを見ながらプレハブを修正したい場合や背景が空だと見づらい場合などがあります。
そういった際にプレハブモードで表示するシーンを変える事ができます。
プレハブモードシーンの設定方法
上部メニューのEdit>ProjectSettingを開きます。
左側メニューのEditorを選択し、Prefab Editing Environmentsを見ます。
ここにあるRegular EnvironmentとUI Environmentに背景にしたいシーンを設定すれば、プレハブモードはそのシーンになります。
Regularは通常のプレハブでUIはUGUIのプレハブの際のシーンになります。
UIのプレハブモードはプレハブの一番親のオブジェクトにCanvasを含めなくても自動でCanvasがあるものとして扱ってくれます。
↑のように後ろに板ポリを置いただけのシーンをRegular Environmentに入れてみました。プレハブモードに反映されているのがみてとれます。
バグ?仕様?
バージョンUnity2018.3.11f1現在、バグなのか仕様なのかは不明ですが、シーンのLighting Settingは読み込めないようです。
さらに、Regular Environmentではライトが反映されず、UI Environmentではライトが反映されました。
そのため、プレハブモードの背景を変更する事ができるとはいっても、背景に何かしらのオブジェクトを表示できるだけの機能と思っていた方がいいかもしれません。
もちろん、今後のアップデートで改善される可能性がありますので、バージョンアップしたらチェックしてみるのも手かもしれません。