アバター改変時に服を消さずEditorOnly設定のススメ
今回の記事もVRChatやっててUnityさっぱりわからんけど
アバターのアップロードや着せ替えはなんとか出来る
と言う身内向けの記事になります。
記事の目的
アバターの着替えした後の非表示のオブジェクトを含んだ場合の
アップロードされるビルドデータの削減と
ヒエラルキーからデータを削除しないため
後で組み合わせ変更の時にデータの使い回し出来る
と言う知識の共有です。
「VRChatでlilAvatarUtilsを使ってアバターのVRAM使用量を減らすススメ 」
を書いた後に
初心者だと知らない知識ではとEditorOnlyタグの事を思いつき書きました。
記事の内容を知ってる人も多いと思いますが
Unityさっぱりわからん初心者向けです。
本文内で出てるアバター情報の詳細の見方は
こちらの記事を参照してください。
1.服などをインスペクターのチェックを外し非アクティブにしただけの状態の説明
こちらが服アクセなどを全部装備した状態で
アバターをアップロードした状態のファイルサイズなどになります。
![](https://assets.st-note.com/img/1689334811698-DczTY706sp.jpg?width=1200)
薄着にするだけなので着替えと言い切れませんが
アクセサリーやコートを非アクティブ状態。
インスペクターのチェックを外して着てない状態にします。
![](https://assets.st-note.com/img/1689334884325-s2Yo6UhbqF.jpg?width=1200)
このままVRC SDKからビルドしてアップロードすると
単にコートやアクセを非表示にしただけなので
非表示になったデータも含まれてアップロードされてます。
![](https://assets.st-note.com/img/1689334910225-QpiF8ilgXU.jpg?width=1200)
左側の服は替わっているのに
DOWNLOAD SIZEやTEXTURE MEMORYの値は変わっていません。
これは時々誰かがやってる上着を脱いだり着たり
アイテムや看板を取り出す表示オンオフ可能状態です。
非表示設定だけでも処理的には軽くはなってるはずですが
やはりDOWNLOAD SIZEやTEXTURE MEMORYに含まれたままなので
使わない無駄なデータが含まれている状態です。
そこで邪魔なデータを削除するために
アバターのPrefabを解凍(Unpack)して
ヒエラルキーから不要な服データを削除する人も多いと思います。
今回はPrefabは解凍(Unpack)しない違うやり方を説明します。
2.Unityのタグ設定で要らない物をビルドデータから外す
操作は凄く簡単でアップロードするデータに含めなたくないオブジェクトを
画像のようにインスペクターの名前のすぐ下のタグの部分を
EditorOnlyに変更します。
これはビルドする時にヒエラルキーにオブジェクトが設置されていても
その設定のタグのオブジェクトは対象に含まず
無視してビルドすると言う設定になります。
![](https://assets.st-note.com/img/1689335037676-kZnkkL4Ray.jpg?width=1200)
この時、表示非表示のチェックは外して
オブジェクトが非表示になってる方が好ましいです。
EditorOnlyにするとUnity上では表示されていてもビルドデータに含まれず
ゲーム内にはないし呼び出せなくて混乱します、非表示にしましょう。
![](https://assets.st-note.com/img/1689335092488-xthdoC6qwv.jpg?width=1200)
・Mesh_RGN_AcceTail
・Mesh_RGN_Coat
・Mesh_RGN_HeadPhone
・Mesh_RGN_NeckRing
・Mesh_RGN_Ribbon
・Mesh_RGN_UnderWear
・Mesh_RGN_WristRing
を非表示かつEditorOnlyにしました。
この状態でビルドしアップロードしてみます。
![](https://assets.st-note.com/img/1689335121764-d9YJHDSy0l.jpg?width=1200)
DOWNLOAD SIZEが22.37MBから16.99MBに
TEXTURE MEMORYが109.30MBから90.64MBに
POLYGONS、SKINNED MESHES、MATERIAL SLOTSも減ってます。
ぱっと見変わらないのですが色々変わるのと
DOWNLOAD SIZEによる表示の足切り回避には地味に効くので
EditorOnlyタグ設定はお勧めです。
3.その他のメリット
この記事を書いたのはデータのスリム化もあるのですが
他にもboothで別の服や靴を買って着せ替えた場合に
この買った服は標準の服や靴と組み合わせで合うのでは?となった時に
Prefab解凍からのデータ削除では
もう一度0からPrefabを弄らないとならないのに対して
このEditorOnlyと非表示を使った場合は
EditorOnlyタグをUntaggedタグに戻して
オブジェクトの表示をチェックするだけで元通りなので
やり直しが効くと言う事です。
滅多にないと思いますが自分はあったので書いておきます。
またワールド作成で季節のオブジェクト(今なら笹の木)を置いて
一定期間撤去する時にEditorOnly設定すればヒエラルキーに残したままでも
アップロードデータから外せるのでまた来年使う時に作業が楽です。
知ってると希に役立つ感じの知識なので試してみてください。
それでは、楽しいVRChatライフを
この記事が気に入ったらサポートをしてみませんか?