ばーちゃるなれっじ Unityのエラー、アバター改変、イベントを検索 アプリで開く
‹ 戻る#技術・制作

FBXとPrefabの違い Unityでのデータの流れを理解する

Unityのプロジェクトを覗くと出てくるFBXとPrefab。アバター改変では両方を扱うので、役割の違いを整理しておきましょう。ここを理解しておくと、Prefabの扱いで事故を起こしにくくなり、アバターがアップデートされたときの差し替えも怖くなくなります。この記事では、2つの違いに加えて、FBXのインポート設定で見るべき項目、Prefab Variantの作り方、やってはいけない操作まで具体的に書きます。

FBXからPrefabへのデータの流れ

FBXは3Dモデルの素材データ

FBXは、メッシュ・ボーン・シェイプキー・アニメーションなどを含む3Dモデルの交換用ファイルです。BlenderやMayaで作ったモデルをUnityに持ち込むときの形式で、アバターの「素体そのもの」と言えます。

Unity内ではFBXの中身は基本的に直接編集できません。インポート設定(スケールやリグの扱い)は変更できますが、メッシュそのものを作り替えるにはBlenderなどの3Dソフトに戻る必要があります。

Prefabは組み立て済みのセット

Prefab(プレハブ)は、FBXのモデルにマテリアル・PhysBone・アニメーターなどの設定を組み合わせた「完成品のテンプレート」です。販売アバターで「シーンに置いてください」と案内されるのは、たいていこのPrefabです。

つまり、FBXという素材に設定を足して着られる状態にしたものがPrefab、という関係です。改変で私たちが触るのは、ほとんどがPrefab側になります。

FBXのインポート設定で見る項目

FBXを選択すると Inspector に Import Settings が出ます。アバター改変で関係するのは主に次の項目です(Unity 2022.3 マニュアル「Model tab」より)。

Model タブ
 Scale Factor 元ファイルのスケールが合わないときに全体を拡縮
 Import BlendShapes シェイプキーを読み込む(表情や体型調整に必須。OFFにしない)
 Read/Write Enabled メッシュをCPU側にも保持。一部のツールが要求する
 Blend Shape Normals シェイプキーの法線の扱い。見た目の陰影に影響
 Legacy Blend Shape Normals 旧方式の法線計算。配布物の指定があればそれに従う

Rig タブ
 Animation Type VRChatアバターは Humanoid にする

配布アバターはこれらが設定済みの状態で届くので、通常は触りません。触るのは「差し替えたFBXで表情が動かない(Import BlendShapes がOFF)」「陰影が急に変わった(法線設定の違い)」といった問題が出たときです。設定を変えたら必ず Apply を押さないと反映されません。

Prefab編集の安全な考え方

改変時の注意 Override と Apply

Prefabをシーンに置いて編集すると、その変更は元のPrefabとの差分(Override)として管理されます。シーン上のインスタンスをいじっている限りは安全です。Inspector 上部の Overrides ドロップダウンを開くと、何を変えたかが一覧で見えます。

問題は、意図せず元のPrefabに変更を適用(Apply)してしまうケースです。Overrides ドロップダウンの「Apply All」を押すと、シーン上の差分が Prefab Asset に書き戻され、そのPrefabを使っている他のシーンや別の改変にも影響が及びます。配布物のPrefab Assetをダブルクリックして Prefab Mode で直接編集するのも同じ理由で避けたい操作です。

Prefab Variantの作り方

Prefab Variantで元を壊さず改変する手順と、やってはいけない操作

大きな改変をするときは、Prefab Variant(バリアント)を作る方法が安全です。Unity 2022.3 マニュアルでは2通りの作り方が案内されています。

方法1 Project ビューで配布 Prefab を右クリック → Create → Prefab Variant
 (差分なしの Variant ができる)
方法2 シーン上の Prefab インスタンスを Project ビューへドラッグ
 → ダイアログで「Prefab Variant」を選ぶ
 (そのインスタンスに加えた差分を持った Variant ができる)

Variant は矢印付きの青い Prefab アイコンで表示されます。以後はこの Variant をシーンに置いて改変すれば、衣装追加も色替えも Variant 側の差分として保存され、配布 Prefab は無傷のままです。

注意点が1つあります。Variant を Prefab Mode で開いたときの Overrides ドロップダウンには「Apply All to Base」というボタンが出ます。これを押すと差分が元(Base)の Prefab に書き戻され、Variant を作った意味がなくなります。マニュアルも「意図がない限り Base に適用しない」と明記しています。

Unpack Prefab は最後の手段

右クリックメニューの Unpack Prefab は、インスタンスと Prefab のつながりを切って、ただの GameObject の集まりにする操作です。一見自由に編集できて便利ですが、元の Prefab が更新されても追従しなくなり、Override の一覧も使えなくなります。「Prefab が更新されたときの差し替え」を将来やる可能性があるなら、Unpack せずに Variant か Modular Avatar のコンポーネントで改変を積み上げてください。

アバターが更新されたとき

アバターの作者が新しいバージョンを配布したとき、この構造を知っていると落ち着いて対応できます。多くの場合、新しいFBXとPrefabが同梱されており、自分の改変内容(衣装・色・設定)をどう引き継ぐかが作業の中心になります。

Variant で改変していれば、新しい unitypackage をインポートして Base の Prefab と FBX を上書きすると、Variant の差分はそのまま残ります。作者側でオブジェクト名やボーン構成が変わった箇所だけ、差分が外れて崩れるので、そこを直せば完了です。

Modular Avatarのような非破壊改変を使っていれば、衣装のオブジェクトを新しいアバターへ移すだけで済むことも多くあります。破壊的に編集していた場合は、やり直しの範囲が大きくなります。この差が「非破壊改変が推奨される理由」です。

つまずきやすいポイント

変更が消えた
Prefabの更新で上書きされた可能性があります。作業前のプロジェクトコピーがあれば戻せます。

別のシーンでも見た目が変わってしまった
元のPrefabに適用してしまったケースです。バリアントを使う運用に切り替えましょう。

FBXを差し替えたら設定が外れた
マテリアルやボーン参照は再設定が必要になることがあります。差し替えは時間に余裕のあるときに行いましょう。

Variant を置いたのに配布 Prefab の色が変わった
「Apply All to Base」を押した可能性が高いです。Base の Prefab を配布物から入れ直すのが確実です。

よくある質問

Q. FBXを直接編集したい
A. Blenderなどの3Dソフトで開いて編集し、書き出し直す形になります。Unity内での直接編集はできません。

Q. Prefab Variantは難しい?
A. 操作自体は複製と同じ感覚です。元との差分だけを持つ複製、と考えると分かりやすくなります。

Q. Variant と Modular Avatar はどちらを使う?
A. 両立します。アバター本体の設定変更は Variant に、衣装やギミックの追加は Modular Avatar のコンポーネントに、と分けると管理しやすくなります。衣装の着せ方は「Modular Avatarで衣装を着せる 非破壊改変のすすめ」を参照してください。

引用記事Modular Avatarで衣装を着せる 非破壊改変のすすめアバター

Q. どこまでバックアップすればいい?
A. プロジェクトフォルダごとコピーしておけば確実です。

参考

Unity 2022.3 マニュアル「Prefab Variants」「Model tab(FBX Import Settings)」(2026年9月10日確認)

関連記事: 「VRChat制作のためのUnity基本操作

引用記事VRChat制作のためのUnity基本操作技術・制作