トラブルシューティング
UnityをAndroid用に切り替えられない
Android Build Supportをインストールする
Android用にアバターをアップロードするにはUnityのビルド設定をAndroidに切り替える必要があります(Switch Platform)。 UnityにAndroid Build Supportがインストールされていない場合、ビルド設定をAndroidに切り替えることができません。
非圧縮サイズが大きくてアップロードできない
Avatar uncompressed size is too large for the target platform. XX.XX MB > 40.00 MB
非圧縮サイズ(Uncompressed Size)が大きくなる原因として、主に以下のようなものがあります。
- 使用していないシェイプキー
- 使用していないメッシュ
- 使用していないテクスチャ
最適化により不要なデータを削除する
アバターの最適化ツールを使うことで、これらの不要なデータを削除できます。 例としてAvatar OptimizerのTrace And Optimizeコンポーネントを使うと不要なものをアップロード時に自動的に削除できます。
ダウンロードサイズが大きくてアップロードできない
Avatar download size is too large for the target platform. XX.XX MB > 10.00 MB
ダウンロードサイズ(Download Size)が大きくなる原因として、主に以下のようなものがあります。
- テクスチャの枚数が多い
- テクスチャの圧縮率が低い
- テクスチャの解像度が大きい
- メッシュの数が多い
テクスチャのサイズを調整する
Avatar Converter Settingsコンポーネントの最大テクスチャサイズを小さくすることでダウンロードサイズは小さくなりますが、テクスチャの品質を大きく損ないます。
最大テクスチャサイズを変更するよりも先に、圧縮形式を変更して調整することを推奨します。
テクスチャをアトラス化する
テクスチャのアトラス化をした上で合計の解像度を下げることでダウンロードサイズを小さくすることもできます。 例としてTexTransToolを使ってアトラス化をすることができます。
メニュー用アイコンを小さくする
表情やポーズアニメーションを追加するツールを使用している場合、大量のメニュー用アイコンがダウンロードサイズを圧迫することがあります。 Menu Icon Resizerコンポ ーネントを使うことで、メニュー用アイコンの解像度を小さくしたり削除したりすることができます。
衣装の着替えなどのギミックを減らす
着替えなどのギミックを実装している場合、着替え用の衣装の分だけメッシュやテクスチャが増えるためダウンロードサイズが大きくなります。 ギミックを減らし、可能であれば一つのアバターにつき衣装は一つだけにしてアップロードします。 同期ズレにより着替えなどのギミックが片方のプラットフォームで意図しない状態になってしまうことを防ぐため、PCとAndroidでは同じ構成のアバターにすることを推奨します。
アップロードに成功したがSecurity checks failedと表示される
VRChatのサーバー側でのセキュリティチェックに失敗した場合、アップロードに成功してもアバターが使用できないことがあります。
プラットフォ ームを再度切り替えてアップロードする
実際には問題がないのにセキュリティチェックに失敗するケースとして、Unityのビルドターゲット切り替えに失敗していた事例が報告されています。 もう一度Switch Platfromを行うか、Unityを再起動してからアップロードを試みてください。 このとき、Unityのビルドターゲットがアップロード先のプラットフォームになっていることを確認してください。
PCとAndroidでギミックが同期しない
PCとAndroidでExpression Parametersの順番が一致しない場合、誤った値が同期されてギミックの誤動作に繋がります。
PCとAndroidで同じ構成のアバターにする
PCの方にだけ特定のギミックがありAndroidの方にはない場合に特に発生しやすくなるため、PCとAndroidでは同じ構成のアバターにすることを推奨します。
Expression Parametersの順番を一致させる
Modular AvatarのSync Parameter Sequenceコンポーネントを使用することでExpression Parametersの順番を一致さ せることができます。
ギミックが動作しない
Androidでは使用不可能なコンポーネントがあるため、ギミックが動作しないことがあります。
Uniyt ConstraintsをVRChat Constraintsにする
UnityのConstraintsコンポーネントはAndroidでは使用できないため、VRChat Constraintsに置き換える必要があります。 Modular AvatarのConvert Constraintsコンポーネントを使用することでConstraintsを自動的に変換することができます。
Contact ReceiverとContact Senderを有効にする
Avatar Converter SettingsコンポーネントのAvatar Dynamics 設定でContact ReceiverとContact Senderのチェックボックスがオンになっていることを確認してください。
PCとAndroidでPhysBoneが同期しない
PCとAndroidでPhysBoneの数や順序が異なる場合、PhysBoneを掴んだときの動作が同期しません。
ネットワークIDを一致させる
Network ID Assignerコンポーネントを使用してPCとAndroidの両方に再度アップロードすることで、PhysBoneを同期させることができます。