こんにちは、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の作り方はとっても簡単です。
①ヒエラルキーから②プロジェクトウィンドウにGameObjectをドラッグアンドドロップするだけ。
ヒエラルキー上での名前が青くなったら、
それはPrefab化されたものという意味です。
【Unity】Prefabを生成する方法徹底解説
Prefabとは再利用可能なGameObject。Prefabは生成することで価値を発揮します。本記事ではPrefabの生成方法について徹底解説します。
Prefabの利用方法も簡単
Prefab化されたGameObjectを利用する方法の解説です。
こちらも簡単。
①プロジェクトウィンドウ内のPrefabを②ヒエラルキーにドラッグ・アンド・ドロップするだけ。
Prefabの作成と逆になっただけですね。
ヒエラルキー上では青文字で表示されます。
今回はためしに3つPrefabから作成してみました。
Prefabを変更して一括修正
ここからがPrefabの最も重要なポイント。
Prefab変更による一括修正 です。
このように先ほどPrefabから作ったGameObject(Unityちゃん)を4体を並べました。
このPrefabを変更して 一括修正 する方法を紹介します。
Prefabモードで編集
ヒエラルキーのPrefabを1体選択し、
インスペクターの Open ボタンをクリックします。
すると 「Prefabモード」 と呼ばれる、
Prefabを編集する画面になります。
シーンビューを見てましょう。
1体だけカラーで他がグレーですよね。
これが編集中のPrefabです。
編集中のPrefab(Unityちゃん)の首を回転させてみましょう。
するとこのように、Prefabを使用しているすべての箇所に変更が入ります。
Prefabモードを上手く使うことで 大量の修正を1箇所に集約 できるのです。
Prefabは解除方法も簡単
Prefab化した後、 Prefabではなくしたい ことも発生します。
そんなときは「Prefabを解除」しましょう。
安心してください。
解除しても Prefab自体が削除されるわけではありません。
手順はこちら。
- ① 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の登場で大きく状況が変わりました。
👆この動画ではイメージしづらいかもしれませんが、
このようにPrefabモードの状態で、
更にPrefabを作ることができる ようになりました。
これはUnityを長年使っている者にとっては歓喜でしたね。
Nested Prefabについては話が長くなってしまうので割愛しますが、
とても便利な機能なので、ぜひいろいろ触ってみてください。
まとめ
Unityにおいては義務教育レベルの知識「Prefab」について解説してきました。
簡単にまとめるとこんな感じです。
①Prefabとは再利用可能なGameObject
②Prefabに変更をかけると使用箇所全てに反映できる
③Prefabを解除してもPrefabは削除されない
④Prefabの中にPrefabを作ることができる(Unity2018.3以降)
PrefabはUnity開発では必須機能 です。
つまりエンジニアは当然ですが、デザイナー、クリエーター、プランナー全職種知っておくべき。
Prefabの仕組みを理解した上でゲーム仕様を考えておきたい です。
ぜひこの記事をエンジニア以外の職種の方にも読んでもらって、
Unityで開発するときの参考にしてもらえたらと思います。
あなたのゲーム開発がより良いものになることを願っています。
この記事が気に入ったらフォローしよう
- Unity2020.3.26f1