Unity 入門 プレハブの使い方

入門

Unity の数ある機能の中でも、トップクラスの重要な機能。

それがプレハブです。

今回は、プレハブの基本的な編集方法とゲームでの使いどころを紹介します。

それでは、以下、解説。

この記事で使用する Unity のバージョンは 2019.2.5f1 です。

プレハブとは

プレハブとは、ゲームオブジェクトのテンプレートのことです。

もっとわかりやすく言うと、同じ機能のゲームオブジェクトを量産するための設計図のようなものです。

どういうときに使うの?

主な用途としては、下記のようなときですね。

  • 同じようなゲームオブジェクトを大量にシーンに配置するとき
  • ゲーム実行中にゲームオブジェクトを生成するとき
  • 現在のシーンのゲームオブジェクトをほかのシーンでも使いたいとき

用途1:同じようなゲームオブジェクトを大量にシーンに配置するとき

ねこくん
ねこくん

単純にいっぱいコピーしてもいいのでは?

確かに、配置するだけならコピーでもよいかと思います。

しかし、あとでゲームオブジェクトのパラメータを変更しようとすると、どうでしょうか。

1つ2つだけを変更するなら、別に問題ないですが

その変更をコピーしたゲームオブジェクトすべてに適用したいとなった場合、

1つ1つのゲームオブジェクトを編集しなければならないので、非常に手間です。

そのような手間を避けるためにプレハブを使用して量産します。

コピーして配置したゲームオブジェクトと違って、プレハブからインスタンス化されたゲームオブジェクトは、プレハブを編集すれば一括で変更を適用することができます。

プレハブ概要


ねこくん
ねこくん

なるほど~ プレハブを使えば効率的に編集できるね!

用途2:ゲーム実行中にゲームオブジェクトを生成するとき

ゲーム実行中にゲームオブジェクトを生成したいときにもプレハブを使うと便利です。

逆に、プレハブを使わないで生成しようとした場合、生成時に必要なコンポーネントを追加したり、パラメータを設定したりするスクリプトを記述する必要があります。

大抵の場合、わざわざスクリプトでコンポーネントなどの設定をするなんてのは、無意味な手間です。

こういった無意味な手間を避けるためにもプレハブを使いましょう。

用途3:現在のシーンのゲームオブジェクトをほかのシーンでも使いたいとき

例えば、メッセージウィンドウやダイアログボックスなど、

ゲーム全体の共通 UI として使いたいものもプレハブを使うと便利です。

プレハブを編集すれば、シーンが違っていても変更点を適用できます。

プレハブの編集方法

プレハブの基本的な編集方法について説明します。

プレハブを作る

プレハブの作り方は、簡単です。

ヒエラルキーからプロジェクトウィンドウにドラッグ&ドロップするだけです。

プレハブ作成

作成したプレハブをシーンビューやヒエラルキーにドラッグ&ドロップするとインスタンス化できます。

インスタンス化

プレハブを編集する(インスペクター)

プレハブの編集方法は2種類あります。

まずはインスペクターから編集する方法を紹介します。

プレハブからインスタンス化されたゲームオブジェクトは、このように青いアイコンで表示されます。

プレハブアイコン

プロパティを変更すると、プロパティ名が太字になり、左側に青いラインでマークされます。

変更マーク

変更点をプレハブに適用すれば、全体に変更が反映されます。

適用しない場合は、そのゲームオブジェクトのみの変更となります。

変更を適用する方法は下記です。

1. マークされたプロパティの右クリックメニューから選択する。

青いラインでマークされたプロパティを右クリックすると、下記のメニューが表示されます。

プレハブ編集適用

  • Apply to Prefab ‘プレハブ名’ … 変更点をプレハブに適用します。
  • Revert             … 変更点を破棄します。

2. Overrides から選択する。

Overrides をクリックすると、変更点を一覧で確認できます。

オーバーライド

  • Revert All … 変更点をすべて破棄します。
  • Apply All  … 変更点をすべて適用します。

さらに、この一覧から個別に変更を適用するか元に戻すかを選択できる上に、ここからでもプロパティを編集できて、非常に便利!。

オーバーライド個別適用

プレハブを編集する(Prefab モード)

プレハブを編集するための専用のエディットモードが Prefab モードです。

Prefab モードでは直接プロパティを編集できます。

Prefab モードに切り替えるには下記のボタンをクリックします。

Prefabモード開始

Prefabモード開始2

Prefab モードでは、専用の独立したシーンで編集を行うことができます。

Prefabモード

Missing Prefab の直し方

ねこくん
ねこくん

い、いろいろやってたら Missing ってなっちゃってる……

MissingPrefab

プレハブを整理しているときや、他のプロジェクトをインポートしたときなどにヒエラルキー上のプレハブの名前が、このように赤文字で表示されることがあります。

これは Missing Prefab という状態です。

プレハブ自体が削除されてしまったか、なんらかの理由でプレハブとのリンクが切れたことで発生します。

これを解決するには、Missing Prefab になっているゲームオブジェクトで再度プレハブを作るか、Unpack Prefab でプレハブとのリンクを解除することで解消されます。

ねこくん
ねこくん

Unpack Prefab でふつうのゲームオブジェクトに戻ったよ!

MissingPrefab修正

まとめ

さて、基本的なプレハブの使い方はだいたい把握できましたでしょうか。

とりあえず「ゲームオブジェクトを使いまわしたいときはプレハブを使う」ということだけは覚えておきましょう。

今回は紹介していない Nested Prefab や Prefab Variants については、別の記事で紹介したいと思います。

以上! おしまい。



コメント

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