Unity によるプレハブの操作

Prefab は、開発者がゲームオブジェクトをコンポーネントやその他のデータとともに構成可能なテンプレートに保存できるようにする特別なアセットで、後でシーンや他のプロジェクト間で再利用したり、スクリプトを介してインスタンス化したりすることができ、再構成する必要はありません。

プレハブが役立つケース:

  • 環境資産 (木、茂み、岩など)
  • NPC (ノンプレイヤーキャラクター)
  • 発射物
  • プレーヤーのインスタンス
  • ゲーム内で再利用する必要があるオブジェクト

使用例

モデルをシーンに直接ドラッグ アンド ドロップすると、多くの場合、次のような問題が発生します。

  • テクスチャがありません
  • スケールが間違っています
  • 間違った回転

デフォルトのマテリアルを使用したツリー モデル

上記の問題は、シーン内で簡単に修正できます (正しいマテリアルの割り当て、スケール/回転の変更など)。

正しいマテリアルを使用した樹木モデル

ただし、モデルを繰り返し使用したり、さまざまなシーンで使用したりする場合は、上記の手順を繰り返すのはすぐに面倒な作業になるため、代わりにモデルをプレハブに保存できます。

プレハブの作成方法

  • Unity にプレハブを作成するには、オブジェクトをシーン ビューからプロジェクト ビューにドラッグ アンド ドロップするだけです。

Unity 3D プレハブの作成

  • プレハブが作成されたら、それを任意のシーンにドロップして、正確なコピーを作成できます。

Unity プレハブ プロジェクト ビュー

プレハブの編集

既存のプレハブの編集は、プレハブ エディターで変更する方法と、シーンで変更する方法の 2 つの方法で行われます。

プレハブエディターでの変更

  • プロジェクト ビューでプレハブを選択し、インスペクター ビューで をクリックします。 "Open Prefab"

  • プレハブがエディターで開かれ、変更できるようになります。

  • 変更が完了したら、階層ビューの戻る矢印をクリックして編集を終了し、変更を保存します。

Unity 3D プレハブの変更を保存する (方法 1)

シーン内での変更

  • プレハブをシーン ビューにドロップし、そこで編集します。

  • 私の場合は、階層に別のオブジェクトを追加しました (アイコンの近くの (+) 記号に注目してください)
  • シーン内のプレハブを変更する場合、変更は自動的に保存されません。代わりに、プレハブのルート オブジェクトを手動で選択し、インスペクター ビューで "Overrides" をクリックしてから "Apply All" をクリックして変更を保存するか、*h25 をクリックする必要があります。 * 変更を元に戻します。

  • シーン内でプレハブを直接編集する場合、一部のアクションはサポートされません。たとえば、階層を再構築する必要がある場合、メッセージ "Cannot restructure Prefab instance" と、"Open Prefab" または "Cancel" のいずれかのオプションが表示されます。

プレハブ インスタンスを再構築するには、'Open Prefab' をクリックするか、階層ビューでプレハブを右クリックして、プレハブ -> 解凍 またはプレハブ -> 完全に解凍 をクリックします。

プレハブを解凍すると、メイン プレハブとの関連付けが削除され、シーン内で完全に編集できるようになります。

解凍したプレハブを元のプレハブに保存するには、元のプレハブが存在するフォルダーを選択し、変更したオブジェクトを階層ビューからそのプレハブにドラッグ アンド ドロップします。

Unity 3D プレハブの変更を保存する (方法 2)

変更が大きすぎる場合は、確認メッセージが表示されることがあります。

正しいプレハブを変更していることを必ず再確認してから、"Replace Anyway" をクリックしてアクションを終了するか、「置換しない」をクリックしてアクションをキャンセルしてください。

Unity 3D プレハブ置換確認メッセージ

新しいプレハブが保存され、使用できるようになりました。

おすすめの記事
Unity で地形に木をペイントする方法
Unity でのアセット バンドルの使用法
アニメーションを Unity にインポートする方法
Unity での環境に適した Skybox の選択
Unity ゲームを著作権侵害から守る戦略
Unity で FNAF にインスピレーションを得たゲームを作成する方法
Unity ゲーム開発におけるストーリーテリングの重要性