名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

Unityの「Prefab Variants」で失敗したことについてのお話

みなさん、こんにちは。SAT-BOXのツバメです。

今回はUnity2018.3以降からある機能の「Prefab Variants」

初めて利用して失敗したことについて少しお話しようと思います。

これから利用する人に少しでも参考になればと思います。

 

1.Prefab Variantsって何?

そもそも「Prefab Variants」を知らない方もいると思いますので、簡単に説明させていただきますと、ベースのPrefabに新規のスクリプトを追加したり、見た目を変更したPrefabの作成ができる、Prefabの継承が可能になる機能です。ベースの見た目は同じで一部分の見た目や処理が違う時に役に立つ機能です。ベースを見た目を変更し上書きをすれば、継承したPrefabの方も見た目が変わります。

 

2.Prefab Variantsの使用目的

今回は、同じ見た目が多いものがありましたが、それぞれ挙動がちがったりするので、チームのメンバー別々で作ろうと思いましたが、見た目が個々で変わったりするのは避けたかったので、「Prefab Variants」を利用することにしました。

 

3.失敗した内容

Prefabの継承をして、ベースの見た目はそのままで一部の見た目や挙動を変えて動作確認をしましたが、問題はありませんでした。しかし、一つだけ失敗したことが…。挙動はベースのものと同じ内容が多く、一部の挙動を追加すれば良かったので、処理の部分も継承をして、作業時間を削減しようと図りましたが、後々になってから、ベースのPrefabで追加した処理が継承先のPrefabに反映されていないことが判明しました。それは「Inspectorで設定する項目」です。

 

4.結果、作業時間が大幅に増えた

そもそもPrefabの継承をしたら「Inspectorに設定する項目」も反映してもらえると思い込んでいたのが間違いでした。継承したとしても、別のプレハブとして認識しているので、オブジェクトID等は別物です。結果、継承した多くのプレハブそれぞれにInspectorの設定が必要になってしまい、作業時間が大幅に伸びてしまいました

 

5.「Prefab Variants」で処理の継承は要注意!

「Prefab Variants」は非常に役に立つ機能ですが、使い方を間違えると今回のように作業時間が増える要因にもなってしまいます。Inspectorで直接指定する方法を取らなければ、処理の継承をしても問題なさそうですが、あくまでも予想です。今後も使うときがあると思うので、気をつけたいですね。(Unity側で対応してくれないかな…)

 

以上、ツバメでした。