こんにちは、Unityエンジニアのオオバです。
Prefab(プレハブ)とは、Unityにとって重要な機能です。
まだ使っていないという方はかなりUnity開発で損をしているかもしれません。
オオバはUnity歴11年のエンジニア。
毎日Prefab使っています。それくらい日常的な機能です。
本記事ではPrefabについて徹底解説します。
Unity初心者の方、もちろんエンジニア以外のデザイナーの方にも伝わるよう説明します。
ぜひPrefabの正しい知識を身に着けてUnity開発に使っていただければと思います。
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](https://i.gyazo.com/58fed5f368aa0f299514dbb7fd9bd68a.jpg#750__268)
①ヒエラルキーから②プロジェクトウィンドウにGameObjectをドラッグアンドドロップするだけ。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_1](https://i.gyazo.com/40a50a69f52a05335a30197ce0d85324.gif)
ヒエラルキー上での名前が青くなったら、
それはPrefab化されたものという意味です。
![](https://i.gyazo.com/66049516dfe6467cdd6acc6a69214c4d.jpg#1920.0__1280.0)
【Unity】Prefabを生成する方法徹底解説
Prefabとは再利用可能なGameObject。Prefabは生成することで価値を発揮します。本記事ではPrefabの生成方法について徹底解説します。
Prefabの利用方法も簡単
Prefab化されたGameObjectを利用する方法の解説です。
こちらも簡単。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_2](https://i.gyazo.com/7793b15ededc8eeb1e702cc7188d86f1.jpg#750__280)
①プロジェクトウィンドウ内のPrefabを②ヒエラルキーにドラッグ・アンド・ドロップするだけ。
Prefabの作成と逆になっただけですね。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_3](https://i.gyazo.com/c2c789adcf7190033a70e88b138b2e11.gif)
ヒエラルキー上では青文字で表示されます。
今回はためしに3つPrefabから作成してみました。
Prefabを変更して一括修正
ここからがPrefabの最も重要なポイント。
Prefab変更による一括修正 です。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_4](https://i.gyazo.com/6366accf8acbb6c4e477c371e8c6f1ac.png#750__366)
このように先ほどPrefabから作ったGameObject(Unityちゃん)を4体を並べました。
このPrefabを変更して 一括修正 する方法を紹介します。
Prefabモードで編集
ヒエラルキーのPrefabを1体選択し、
インスペクターの Open ボタンをクリックします。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_5](https://i.gyazo.com/d35a2fe7a6f2be609c9e27944d085d04.gif)
すると 「Prefabモード」 と呼ばれる、
Prefabを編集する画面になります。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_6](https://i.gyazo.com/91cb82fe519afa9dbe72d6950bc5d912.jpg#662__500)
シーンビューを見てましょう。
1体だけカラーで他がグレーですよね。
これが編集中のPrefabです。
編集中のPrefab(Unityちゃん)の首を回転させてみましょう。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_7](https://i.gyazo.com/ca01bd756a7a627434f89b6072820535.gif)
するとこのように、Prefabを使用しているすべての箇所に変更が入ります。
Prefabモードを上手く使うことで 大量の修正を1箇所に集約 できるのです。
Prefabは解除方法も簡単
Prefab化した後、 Prefabではなくしたい ことも発生します。
そんなときは「Prefabを解除」しましょう。
安心してください。
解除しても Prefab自体が削除されるわけではありません。
![UnityのPrefab(プレハブ)とは?使い方まで徹底解説_8](https://i.gyazo.com/ff067dd400a744324d504feccbabc8a3.jpg#484__500)
手順はこちら。
- ① Prefab解除したいGameObjectを右クリック
- ② Prefabを選択
- ③ Unpackをクリック
すると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](https://i.gyazo.com/1c1364bc09a80cefafa671ea900f6b25.gif)
👆この動画ではイメージしづらいかもしれませんが、
このようにPrefabモードの状態で、
更にPrefabを作ることができる ようになりました。
これはUnityを長年使っている者にとっては歓喜でしたね。
Nested Prefabについては話が長くなってしまうので割愛しますが、
とても便利な機能なので、ぜひいろいろ触ってみてください。
まとめ
Unityにおいては義務教育レベルの知識「Prefab」について解説してきました。
簡単にまとめるとこんな感じです。
①Prefabとは再利用可能なGameObject
②Prefabに変更をかけると使用箇所全てに反映できる
③Prefabを解除してもPrefabは削除されない
④Prefabの中にPrefabを作ることができる(Unity2018.3以降)
PrefabはUnity開発では必須機能 です。
つまりエンジニアは当然ですが、デザイナー、クリエーター、プランナー全職種知っておくべき。
Prefabの仕組みを理解した上でゲーム仕様を考えておきたい です。
ぜひこの記事をエンジニア以外の職種の方にも読んでもらって、
Unityで開発するときの参考にしてもらえたらと思います。
あなたのゲーム開発がより良いものになることを願っています。
![](https://i.gyazo.com/ed779364f177affcd5f3429063812ff5.jpg#1920.0__1280.0)
この記事が気に入ったらフォローしよう
- Unity2020.3.26f1