この記事はAvatars3.0にのみ適用されます。
VRChatでは、Build1004以降Animator ControllerでのWrite Defaultsの使用が非推奨となりました。
これに伴い、Write DefaultsをAnimator Controllerで使用している場合に動作がおかしくなる場合があります。
注意事項
Write Defaultsを無効にする場合は1つのAnimator Controllerのすべてのレイヤーとステートで無効にしてください。
詳細については以下をご覧ください。
Write Defaultsを一括で切りたい
数が少なければ、Write DefaultsのチェックをInspctorから1個ずつ外すだけで済みます。
では、このようなAnimator Controllerの場合はどうしますか?
もれなく手作業で外すのは時間の無駄すぎますし、漏れが起きる可能性があります。スマートに解決しましょう。
スマートにWrite Defaultsを解除する
Animator Controllerはテキストファイルなので、任意のテキストエディタで中身を書き換えることができます。
サクラエディタやTeraPadを使用して中身を触れます。メモ帳も使用できる可能性がありますが、予期しない結果を引き起こす可能性があるため推奨しません。
まず、Animator Controllerのあるフォルダをエクスプローラーで開きます。
フォルダの場所が分からない場合は、アセットの表示されている画面で右クリックしShow in Explorerをクリックすると表示されます。
その中にある目的のAnimator Controllerファイル(拡張子controller)をテキストエディタで開きます。
念のため、作業する前にGitにコミットしておくか、ファイルのコピーを作成してください。
テキストエディタでAnimator Controllerを開いたら一括置換機能を使用します。
次の画像のように、m_WriteDefaultValues: 1
となっている箇所をすべてm_WriteDefaultValues: 0
に置き換えてください。
一括置換を行って保存した後、Unityに戻るとすべてのWrite Defaultsのチェックが解除されています。
なお、ここではWrite Defaultsのチェックを解除しただけであるため、これに依存したアニメーションを使用していた場合は個別に対応が必要です。