Androidアバターの調整
テスト後、Androidアバターに問題がある場合があります。 このページでは、例を交えてAndroidアバターの調整方法を説明します。
このページでは、基本的なUnityの用語の知識が必要です。
半透明なメッシュ
Androidアバターは半透明なマテリアルをサポートしていません。 そのため、変換されたアバターには半透明なマテリアルに問題がある場合があります。 例えば、表情(赤面や青ざめ)、眼鏡のレンズ、目(角膜)などです。
問題を解決するにはいくつか方法がありますが、このページでは3つの方法を説明します。
VRChat/Mobile/Particles
にあるシェーダーを半透明なマテリアルの代替として使用 しないでください。
これらはパーティクル用であり、アバター用ではありません。
Quest Content Limitationsを参照してください。
アニメーションの編集
多くの場合、問題のある表情はブレンドシェイプのアニメーションとして実装されています。 そのため、アニメーションを編集することで抑制できます。
- プロジェクトフォルダから問題のあるアニメーションクリップを見つけて複製します。
- 複製したアニメーションクリップをアニメーションウィンドウで開きます。
- 問題のあるブレンドシェイプを使用しないようにアニメーションパラメータを編集します。
- FXレイヤーのAnimator Controllerを複製して開きます。
- 問題のあるアニメーションを編集したアニメーションに置き換えます。
- 複製したAnimator ControllerをFXレイヤーに設定します。
新しいアニメーションクリップを作成した後、元のアニメーションをオーバーライドするために**Animator Override Controller**を作成できます。 VRCQuestToolsはアバターを変換する際に自動的にAnimator Override Controllerを解決して新しいAnimator Controllerを作成します。 詳細については、リファレンスページを参照してください。
半透明メッシュの削除
アニメーションを編集する代わりに、メッシュの問題のある部分を削除することもできます。 このページでは、メッシュを編集するためのツールの紹介に留めます。
- MeshDeleterWithTexture by gatosyocora
- Avatar Optimizer by anatawa12
- Blender
テクスチャの調整
多くの場合、問題のある表情は半透明なメッシュとして実装されており、そのようなメッシュはアバターの顔の表面に重ねて表示されます。 そのため、透明な領域をアバターの肌色で塗りつぶすことで問題を抑制できます。
サンプル
青ざめ
ブレンドシェイプのアニメーションまたはメッシュを編集して青ざめを抑制します。
モデル:
- I-s Ver.2.0 by トクナガ
PC版 | 変換後 | 調整後 |
---|---|---|
眼鏡のレンズ
眼鏡のメッシュを編集してレンズを削除します。
モデル:
PC版 | 変換後 | 調整後 |
---|---|---|
目(角膜)
目のメッシュを編集して角膜を削除します。
モデル:
- 店員ちゃん by コトブキヤ
PC版 | 変換後 | 調整後 |
---|---|---|
ビルドサイズ
一般的に、テクスチャとメッシュがビルドサイズの主な要因です。 Androidアバターの10MB制限のため、テクスチャとメッシュのサイズを削減する必要がある場合があります。
不要なGameObjectの除外
EditrOnlyタグが付いているGameObjectはビルドに含まれません。これは不要なメッシュやマテリアルをアバターから除外できることを意味します。 そのため不要なGameObjectにEditorOnlyタグを付けることでビルドサイズを削減できる場合があります。
テクスチャ圧縮設定の調整
多くの場合、テクスチャがビルドサイズの主な要因です。 テクスチャ のサイズを削減するには、次の2つの方法があります。
テクスチャ解像度の削減
テクスチャの解像度を削減することは、テクスチャのサイズを削減する最も簡単で効果的な方法です。 インスペクタのMax Sizeを変更することでテクスチャの解像度を削減できます。
テクスチャ圧縮設定の調整
UnityはデフォルトでASTC圧縮にASTC 6x6 blockを使用します。 ASTCブロックサイズを変更することでテクスチャの品質を変更できます。
ASTCブロックサイズ | テクスチャ品質 | サイズ |
---|---|---|
4x4 | 高 | 大 |
: | : | : |
6x6 | デフォルト | デフォルト |
: | : | : |
12x12 | 低 | 小 |
インスペクタのプラットフォーム別オーバーライド設定でASTCブロックサイズを設定できます。 Override for Androidのチェックボックスをオンにし、Formatのドロップダウンメニューを変更します。