Animation ControllerのWrite Defaultsを一括で解除する方法

この記事は約3分で読めます。

この記事はAvatars3.0にのみ適用されます。

VRChatでは、Build1004以降Animator ControllerでのWrite Defaultsの使用が非推奨となりました。

Avatars 3.0
What is Avatars 3.0? Avatars 3.0 is a huge collection of features for avatars in VRChat. You can think of it as a new ve...

これに伴い、Write DefaultsをAnimator Controllerで使用している場合に動作がおかしくなる場合があります。

注意事項

Write Defaultsを無効にする場合は1つのAnimator Controllerのすべてのレイヤーとステートで無効にしてください。
詳細については以下をご覧ください。

Write Defaultsを一括で切りたい

数が少なければ、Write DefaultsのチェックをInspctorから1個ずつ外すだけで済みます。
では、このようなAnimator Controllerの場合はどうしますか?

もれなく手作業で外すのは時間の無駄すぎますし、漏れが起きる可能性があります。スマートに解決しましょう。

スマートにWrite Defaultsを解除する

Animator Controllerはテキストファイルなので、任意のテキストエディタで中身を書き換えることができます。
サクラエディタやTeraPadを使用して中身を触れます。メモ帳も使用できる可能性がありますが、予期しない結果を引き起こす可能性があるため推奨しません。

Sakura Editor
Japanese text editor for MS Windows
TeraPad 公式ダウンロードサイト
HTML・CSS・JavaScript・Perl・PHP等の色分け・強調表示がプログラミング作業を支援します。ツールは、編集中のファイルを外部実行ファイルへ渡しコンパイル実行など工夫次第で様々な処理が可能です。

まず、Animator Controllerのあるフォルダをエクスプローラーで開きます。
フォルダの場所が分からない場合は、アセットの表示されている画面で右クリックしShow in Explorerをクリックすると表示されます。

その中にある目的のAnimator Controllerファイル(拡張子controller)をテキストエディタで開きます。
念のため、作業する前にGitにコミットしておくか、ファイルのコピーを作成してください。

テキストエディタでAnimator Controllerを開いたら一括置換機能を使用します。
次の画像のように、m_WriteDefaultValues: 1となっている箇所をすべてm_WriteDefaultValues: 0に置き換えてください。

一括置換を行って保存した後、Unityに戻るとすべてのWrite Defaultsのチェックが解除されています。
なお、ここではWrite Defaultsのチェックを解除しただけであるため、これに依存したアニメーションを使用していた場合は個別に対応が必要です。

タイトルとURLをコピーしました