使われていないExpressionParameterのパラメーターを削除するNDMFプラグイン
Modular AvatarのExtract Menu を再帰的に適用したり使わないアニメーションを削除したりした結果、使われないパラメーターが生まれることがあります。 特に、髪の長さや角度はメニューから小数精度で変えたいことがほとんどなく、たいてい消されます。
しかし、昨今はギミックの高度化によって消費される同期パラメーターの割合が増えており、結果としてVRChatにおいて256ビットの壁 を軽く超えることがあります。 当プログラムはアバターを再帰的に走査し、使われていないパラメーターを削除することによってこの問題に対処しようとするプログラムです。
プラットフォーム | Unity | 対応状況 |
---|---|---|
VRChat | 2018.x | unsupported |
VRChat | 2019.x | unsupported |
VRChat | 2022.x | supported |
* | * | unsuppoered |
VPMには対応していません。
- エディタのツールバーから[Window > Package Manager] を開きます
- 画面上部の[+▼] を押します
https://github.com/KisaragiEffective/VRChatExpressionParametersOptimizer.git
と入力します
アバターのルート (VRC Avatar Descriptor
コンポーネントがついているゲームオブジェクトと同じゲームオブジェクト) に Expression Parameter Optimizer Setting
を Add Component
してください。
EPOSはAAO Trace and Optimizeのように、すべてのAnimatorControllerを自動的に走査し、使われていないパラメーターを削除します。
何らかの理由で特定のパラメーターをEPOSから除外したいときは、新規に作成したゲームオブジェクトに Marker Exclusion
を Add Component
し、そのゲームオブジェクトを Expression Parameter Optimizer Setting
の Exclusions
に代入します。
Marker Exclusion
は有効化状態を制御する Applies
、パラメーター名に対してマッチさせる正規表現 Exclusion Name Pattern
、処理内容に影響を及ぼさない自由記述かつエンドユーザーがメモとして使用することができる Comment
からなります。
Exclusion Name Pattern
に指定する正規表現は C# の正規表現 として有効な構文にしてください。無効な構文を与えた場合、ツールはエラーを報告しアップロードが阻止されます。
コントロールパネルがExpression Parameterについて同期パラメーターのビット数の制限の超過を報告する場合、以下の手順でビット数の評価を実際のビルド時まで遅延させることで回避することができます。
- Modular Avatarをインストールする
- Extract Menu で再帰的にメニューを展開する
- 呼び出さないメニューを消す
- ビルドし直す
もしどうしてもModular Avatarを使うことが難しい場合、さやまめさんが作成したUpload-without-preCheck を使用してください。