こんにちは、Unityエンジニアのオオバです。

お悩みさん
お悩みさん
  • UnityのPrefab(プレハブ)って何?
  • GameObjectと同じもの?
  • Prefabの使い方がわからない
  • オオバ
    オオバ
    本記事ではこれらの悩みを解決します。

    Prefab(プレハブ)とは、Unityにとって重要な機能です。
    まだ使っていないという方はかなりUnity開発で損をしているかもしれません。

    オオバはUnity歴11年のエンジニア。
    毎日Prefab使っています。それくらい日常的な機能です。

    本記事ではPrefabについて徹底解説します。
    Unity初心者の方、もちろんエンジニア以外のデザイナーの方にも伝わるよう説明します。

    ぜひPrefabの正しい知識を身に着けてUnity開発に使っていただければと思います。

    UnityのPrefabとは再利用可能なオブジェクト

    最初に結論を簡単にまとめます。

    UnityのPrefabとは

    ①Prefabとは再利用を可能にしたアセット

    ②Prefabを変更すると使用箇所すべて一度に変更できる

    ③Prefabの中にPrefabを作れる

    重要なことは Prefabは再利用可能なアセット だということです。
    複数の場所に同じものを配置したいときに大活躍 します。

    Prefabを作り、それを配置するといったこともUnityエディタ上では感覚的。
    もちろんプログラミングで制御するのも簡単です。

    Prefabをまだ使っていない方はぜひ使ってみてください。
    Unityの中でオススメ中のオススメ機能 です。

    では、詳細の解説に入っていきます。

    👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

    UnityのPrefabとは「再利用可能にしたGameObject」

    Prefab(プレハブ)を一言で表現すると、
    「Prefabとは再利用可能にしたGameObject」 です。

    これだけ覚えておけば大丈夫。
    GameObject以外のアセットもPrefabになると勘違いしそうですが、
    Prefab化できるのはGameObjectだけ です。

    つまりPrefabは 同じ設定のGameObjectを複数使いたい ときに役立ちます。

    例えば、ゲーム中に出てくる ボタン を想像してください。
    同じデザインのボタンが複数の場所で使われることないですか?
    毎回最初からボタンを作るのも大変 ですよね。

    そんなときにPrefabが活躍します。
    Prefabを使うことで 同じものを簡単に複製して使用することができる のです。

    以降の章では実際にPrefabの作り方、使い方を解説していきます。

    またGameObject(ゲームオブジェクト)についてあまり理解していないかも。。。という方はこちらの記事もあわせてよんでみてください。

    Prefabの作り方は簡単

    さっそくPrefabの使い方について解説します。
    まずはPrefabの作り方から。

    Prefabの作り方はとっても簡単です。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_0

    ①ヒエラルキーから②プロジェクトウィンドウにGameObjectをドラッグアンドドロップするだけ。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_1

    ヒエラルキー上での名前が青くなったら、
    それはPrefab化されたものという意味です。

    Prefabの利用方法も簡単

    Prefab化されたGameObjectを利用する方法の解説です。
    こちらも簡単。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_2

    ①プロジェクトウィンドウ内のPrefabを②ヒエラルキーにドラッグ・アンド・ドロップするだけ。
    Prefabの作成と逆になっただけですね。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_3

    ヒエラルキー上では青文字で表示されます。
    今回はためしに3つPrefabから作成してみました。

    Prefabを変更して一括修正

    ここからがPrefabの最も重要なポイント。
    Prefab変更による一括修正 です。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_4

    このように先ほどPrefabから作ったGameObject(Unityちゃん)を4体を並べました。
    このPrefabを変更して 一括修正 する方法を紹介します。

    Prefabモードで編集

    ヒエラルキーのPrefabを1体選択し、
    インスペクターの Open ボタンをクリックします。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_5

    すると 「Prefabモード」 と呼ばれる、
    Prefabを編集する画面になります。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_6

    シーンビューを見てましょう。
    1体だけカラーで他がグレーですよね。

    これが編集中のPrefabです。
    編集中のPrefab(Unityちゃん)の首を回転させてみましょう。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_7

    するとこのように、Prefabを使用しているすべての箇所に変更が入ります。
    Prefabモードを上手く使うことで 大量の修正を1箇所に集約 できるのです。

    Prefabは解除方法も簡単

    Prefab化した後、 Prefabではなくしたい ことも発生します。
    そんなときは「Prefabを解除」しましょう。

    安心してください。
    解除しても Prefab自体が削除されるわけではありません。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_8

    手順はこちら。

    するとPrefabは解除されます。
    繰り返しになりますが、 プロジェクトウィンドウ内のPrefabは削除されません。
    あくまで ヒエラルキー上のPrefabが解除されるだけ です。

    こんな感じで簡単に解除できます。
    Prefab解除後に再び元のPrefabに戻せない 点に注意してください。

    Prefabの中にPrefabをつくることで更に自由度アップ

    Unity2018.3以降Prefabは大きな進化を遂げました。
    Prefabの中にPrefabを作ることができるようになったのです。

    通称 「Nested Prefab(ネスティッドプレハブ)」

    Unity2018.2以前は、Prefabの中にPrefabを入れても 1つのPrefabに統合 されていました。
    つまりPrefabを変更しても、Prefabの中のPrefabには変更が反映されないということ。
    親のPrefabのみがPrefab化された状態 です。

    それがNested Prefabの登場で大きく状況が変わりました。

    UnityのPrefab(プレハブ)とは?使い方まで徹底解説_9

    👆この動画ではイメージしづらいかもしれませんが、
    このようにPrefabモードの状態で、
    更にPrefabを作ることができる ようになりました。

    これはUnityを長年使っている者にとっては歓喜でしたね。

    Nested Prefabについては話が長くなってしまうので割愛しますが、
    とても便利な機能なので、ぜひいろいろ触ってみてください。

    まとめ

    Unityにおいては義務教育レベルの知識「Prefab」について解説してきました。
    簡単にまとめるとこんな感じです。

    UnityのPrefabとは?まとめ

    ①Prefabとは再利用可能なGameObject

    ②Prefabに変更をかけると使用箇所全てに反映できる

    ③Prefabを解除してもPrefabは削除されない

    ④Prefabの中にPrefabを作ることができる(Unity2018.3以降)

    PrefabはUnity開発では必須機能 です。
    つまりエンジニアは当然ですが、デザイナー、クリエーター、プランナー全職種知っておくべき。

    Prefabの仕組みを理解した上でゲーム仕様を考えておきたい です。
    ぜひこの記事をエンジニア以外の職種の方にも読んでもらって、
    Unityで開発するときの参考にしてもらえたらと思います。

    あなたのゲーム開発がより良いものになることを願っています。

    オススメ記事
    検証環境