![見出し画像](https://assets.st-note.com/production/uploads/images/105302452/rectangle_large_type_2_8264162b895a07d68ec5619ade9b5ba4.png?width=1200)
【アバター】Prefabの編集をやってみよう!
PrefabのUnpackとPrefab_variantが話題になっていますが
もーちがUnityと格闘して8ヶ月かけて辿り着いた
Prefab編集をすると便利なポイントについて記します
Prefabの気持ち
![](https://assets.st-note.com/img/1683795546874-iupOFL99G6.png)
ハオランくんのプレハブからアバターを2つシーンに置きます
![](https://assets.st-note.com/img/1683795884900-iabPf27zpG.png?width=1200)
位置をずらすとこうなります
2体のアバターのEye lookをConfident(相手に視線を合わせやすい)に変えてみます(もーちはこの設定がすき)
![](https://assets.st-note.com/img/1683795849235-LHGHP4CF3m.png)
通常のフローは
1.Phys_HaolanのEye lookをConfidentに変える
2.Phys_Haolan (1)のEye lookをConfidentに変える
ですよね?
ここでポイント。ハオランくんのPrefabを開いて(クリックして) lookをConfidentに編集してみましょう
するとシーンに配置した2体のアバターのEye lookもConfidentに変更されます
![](https://assets.st-note.com/img/1683796721331-c9zHz9WtTT.png)
つまり、2体分の変更をするのにPhys_Haolan(Prefab)のEye lookをConfidentに変えるだけのステップで完了したことになり、作業が効率化されている
さらに、これ以降シーンに配置されるハオランくんもすべてEye lookがConfidentになっており(←嬉しい)、Prefabの変更は初期設定の変更にあたるといえそうです
次に、ハオランくんの2体のアバターからインナー(服)を消去したい場合
まず1体ずつインナーを削除して、でもPrefab置きのままだと削除できないからUnpackして……
となりますね。でも、この手順は2体ぶんをやらないといけないから……これもPrefab編集で一度に済ませられないだろうか?
できます
![](https://assets.st-note.com/img/1683796919421-aw7rmmcZ4q.png?width=1200)
これはPrefabをダブルクリックしたときに開くPrefabの編集画面、ここでインナーを非表示にして(右上のチェックを外して)、TagをEditorOnlyに変更。
こうすることでこのインナーは見えなくなり、アップロード時には無いものとして扱われます。
![](https://assets.st-note.com/img/1683797133081-XqM8mbjtbp.png?width=1200)
Prefab編集では、なんか知らんけど削除することができないので、このような回りくどい方法をとります
で、次に3体になったハオランくんのうち一体だけに服を着せてみます
![](https://assets.st-note.com/img/1683797828188-vuZPdt1W18.png?width=1200)
できましたでしょうか。シーンでインナーを元に戻すだけです。この3体は同じPrefab初期設定を受け継げど別個に改変できるのですね
ここからがマジでややこしいんですが、では1体だけハオランくんの髪色を変えてみましょう。
![](https://assets.st-note.com/img/1683797914714-skqRCWLgUo.png?width=1200)
失敗しましたね
マテリアルについたシェーダーの設定を変えると全部がかわり、1体だけ変えるときはマテリアルを別個のファイルにする必要があります(は?)
![](https://assets.st-note.com/img/1683798134588-CTk33nDtnY.png?width=1200)
この仕様が本当にわかりにくい
じゃあ赤髪のハオランくんをそろそろプロジェクトに保存します(ドラッグしてPrefab_Variantの作成)
![](https://assets.st-note.com/img/1683798342624-BC0Rv8nC27.png)
Prefab_Variantを選ぶと良いらしい(噂)
Unpackするとどうなるか
![](https://assets.st-note.com/img/1683798825772-gtn9dfGF7y.png?width=1200)
Unpackすると血の繋がりが失くなります
画像でいま3番めのハオランくんだけがUnpackされています。Prefab画面編集してインナーをもとに戻すと
![](https://assets.st-note.com/img/1683799077284-B2293wrdDm.png?width=1200)
他の2つの兄弟たちはPrefabの状態に従いましたが、Unpackしているやつだけが影響を受けませんでした。このようにUnpackされるとPrefabの影響を完全に離れます。デメリットとして
・一括操作ができない
・なんかfbxの更新きたとき不便らしい
とりあえずUnpackは「これからは独りで生きていく」の気持ち
これらとアバターの管理
さて、われわれはいま、何ができるようになったのでしょうか?
実は一つのプロジェクトからだけでハオランくんのすべての改変アバターをアップロードできるようになりました。もう
![](https://assets.st-note.com/img/1683798602941-AMJlIpXmvz.png)
アバターの改変ごとにプロジェクトをわける必要はないんだ(泣)
と言いますが、ブループリントIDについて説明したほうがいいかもと思いました
ブループリントIDは、基本的な情報ですが、Prefabに持たせるのはいけません。シーンに配置したアバターごとにすべて別個のものを割り当てたいです。
ブループリントID同じだと単なる上書きアップロードになります。
![](https://assets.st-note.com/img/1683799695164-aiKqZBBWfu.png)
ここからIDをコピーして
![](https://assets.st-note.com/img/1683799754699-PnlygZjL0d.png)
AvatorDescriptorのここにコピーしてアタッチしたりデタッチすると、アップロード先は自由自在です(空白の場合は新規スロットにアップロード)。これに気づかなかったからプロジェクトいっぱい作ったみたいなとこあるよね。
まとめると
1アバター=1プロジェクトにできるよ!って感じ
追記:記事では3体のアバターをシーンに配置しましたが、本気でこの方式でやるなら、シーンをアバター1体ごとに分けることをおすすめします
一見どちらでもいいように見えて、ボーン名の検索をすると差が出ます
![](https://assets.st-note.com/img/1685482162682-OHPqcpoFVJ.png)
![](https://assets.st-note.com/img/1685482437374-19nsKstCgc.png)
この記事が気に入ったらサポートをしてみませんか?