プレハブの基本概念と作成方法【Unityスタートガイド7-1】

目次

この記事で学べること

  • プレハブ(Prefab)とは何かを理解できます
  • プレハブを使うメリットを知ることができます
  • プレハブの作成方法を学べます
  • プレハブインスタンスとプレハブの関係を理解できます

前提知識

以下を理解しているとよりスムーズです:

プレハブとは?再利用可能な設計図

プレハブの基本概念

Unityのプレハブ(Prefab)とは、ゲームオブジェクトの「再利用可能な設計図」のようなものです。日本語では「プレファブ」「プレハブ」などと呼ばれます。

例えば、6-10で作ったコインを100枚並べたあとで「やっぱり色を変えたい」となったら、100枚全部を直すのは大変ですよね。プレハブにしておけば、元のプレハブを1回直すだけで全部に反映されます。

プレハブを使う3つのメリット

プレハブを使う主なメリットは以下の通りです:

  1. 効率的な作成:一度作ったオブジェクトを何度でも複製できる
  2. 一括変更:プレハブを変更すると、すべての複製(インスタンス)が自動的に更新される
  3. チーム開発:デザイナーが作ったプレハブをプログラマーが使いやすい

プレハブとインスタンスの関係

プレハブには2つの概念があります:

  • プレハブ(Prefab):Projectウィンドウに保存された設計図(マスター)
  • インスタンス(Instance):シーンに配置された実際のオブジェクト(コピー)

この関係を理解することが、プレハブを使いこなす鍵になります。

プレハブの作成方法

準備:サンプルオブジェクトを作る

まずはプレハブにする元となるゲームオブジェクトを作成してみましょう。ここでは簡単な「色付きのキューブ」を作ります。

手順1: キューブを作成

Hierarchyウィンドウで右クリック>3D Object>Cube を選択して、シーンにキューブを配置してください。

手順2: 見た目を変更

色付きのマテリアルを作って、キューブに付けます(3-3の記事と同じ手順です)。

  • Projectウィンドウで右クリック>Create>Material、名前を「BlueMaterial」にする
  • Inspectorで、Base Mapの右の色をクリックして青色にする
  • 作ったマテリアルを、SceneビューのCubeにドラッグ&ドロップ
  • CubeのTransformのPositionを (0, 1, 0) にする(地面から少し浮かせる)

プレハブを作成する

準備ができたら、いよいよプレハブを作成します。

手順3: プレハブ化

  1. Projectウィンドウに「Prefabs」フォルダを作っておく(右クリック>Create>Folder)
  2. Hierarchyウィンドウの「Cube」を、Projectウィンドウの「Prefabs」フォルダにドラッグ&ドロップ
  3. これでプレハブが作成されます!

Projectウィンドウを見ると、青い箱のアイコンのファイル(Cube.prefab)が出来ています。これがプレハブの目印です。Hierarchyの「Cube」も、名前とアイコンが青くなって、プレハブのインスタンスになりました。

プレハブインスタンスを使ってみる

インスタンスを配置する

作成したプレハブをシーンに配置してみましょう。

手順4: プレハブをシーンに配置

Projectウィンドウのプレハブを、HierarchyウィンドウまたはSceneビューにドラッグ&ドロップしてください。新しいインスタンスが作成されます。

複数のインスタンスを作成

プレハブの威力を実感するために、複数のインスタンスを作ってみましょう。

Ctrl+D(複製)を使って、複数のキューブをシーンに配置してみてください。すべて同じプレハブから作られたインスタンスです。

注意点やヒント

スライム

プレハブを作ろうとしてドラッグしたら、別のオブジェクトの子になっちゃった・・・

フェアリー

ドロップするのはHierarchyじゃなくてProjectウィンドウ!フォルダの上で離すのがコツだよ

また、プレハブの名前はわかりやすい名前にすることをおすすめします。例えば「Enemy_Goblin」や「Item_Coin」のように、何のプレハブなのかが一目でわかる名前が良いでしょう。

よくあるエラーと対処法

エラー: プレハブの色が青くない

  • 原因:ProjectウィンドウではなくHierarchyの中にドロップしていた、またはドロップが途中でキャンセルされた
  • 対処法:HierarchyのオブジェクトをProjectウィンドウのフォルダの上までドラッグしてから離す。Projectウィンドウに青い箱のアイコンが出来ているか確認する

エラー: シーンのインスタンスを変えたのに、ほかのインスタンスに反映されない

  • 原因:シーンに置いたインスタンスだけを変更している(インスタンスの変更は、そのインスタンスだけに効きます)
  • 対処法:全部に反映したいときは、Projectウィンドウのプレハブをダブルクリックしてプレハブ編集モードで変更する。インスタンスでの変更を元のプレハブに反映する方法(Overrides)は、次の7-2で説明します

まとめ

  • プレハブはゲームオブジェクトの再利用可能な設計図
  • 作成するにはHierarchyからProjectウィンドウへドラッグ&ドロップ
  • プレハブ(マスター)とインスタンス(コピー)の関係を理解しよう
  • 同じオブジェクトを複数使う場合に特に便利

プレハブの基本概念と作成方法が理解できたでしょうか?これでゲーム制作の効率がぐっと上がりますよ!

次のステップ

プレハブの基本を理解したら、次はより実践的な使い方を学びましょう:

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (3件)

コメントする

目次