よくある質問 #
Avatar Optimizerに関するよくある質問のリストです。 他に質問がある場合は、GitHub Discussions、NDMF Discord、またはFediverse (Misskey / Mastodon)でお気軽にお尋ねください。
AAO Trace and Optimize
コンポーネントを使用すると、アバターの振る舞いや見た目が変わる
#
AAO Trace and Optimize
コンポーネントを使用して、アバターの振る舞いや見た目が変わってしまった場合は、(アバターがAvatar Optimizerの他のコンポーネントのバグ挙動に依存していない限り、)全てバグです。
GitHub IssuesやFediverse (Misskey / Mastodon)、Twitterなどから報告をお願いします。
メッシュが視界の中にあるのに非表示になってしまう #
多くの場合、この問題はSkinned Mesh RendererのRoot Bone
を指定し忘れていることが原因です。
AAO Merge Skinned Mesh
コンポーネントはRoot Bone
の設定を自動的には行わないため、統合先のメッシュ1のRoot Bone
を手動で設定する必要があります。
Modular Avatarを使用している場合は、アバターのルートにMA Mesh Settings
コンポーネントを追加して設定することにより、アバター全体のRoot Bone
とBounds
を設定することができます。
AAO Merge Skinned Mesh
コンポーネントで統合したメッシュの明るさが他のメッシュと異なる
#
多くの場合、この問題は統合先のメッシュのAnchor Override
を指定し忘れていることが原因です。AAO Merge Skinned Mesh
コンポーネントはAnchor Override
の設定を自動的には行わないため、統合先のメッシュ1のAnchor Override
を手動で設定する必要があります。
Modular Avatarを使用している場合は、アバターのルートにMA Mesh Settings
コンポーネントを追加して設定することにより、アバター全体のAnchor Override
を設定することができます。
AAO Merge Skinned Mesh
コンポーネントを使用すると、マテリアルプロパティに対するアニメーションが競合する
#
この問題は既知のバグであり、現時点では競合してしまう仕様です。
マテリアルプロパティに対してアニメーションされるメッシュを統合する際は、競合しないようご注意ください。 競合する場合は警告が表示されるので、そちらを確認してください。
この問題のissue: #340
AAO Merge Skinned Mesh
コンポーネントを使用すると、マテリアルスロットに対するアニメーションが競合する
#
AAO Merge Skinned Mesh
コンポーネントは、統合対象のメッシュで同じマテリアルを使用しているマテリアルスロットをデフォルトで統合します。
これにはアニメーションされるマテリアルスロットも含まれます。
アニメーションによってそれぞれのマテリアルを別のものに置き換える場合は、AAO Merge Skinned Mesh
コンポーネントのマテリアルの統合
の統合する
をオフにしてください。
AAO Merge Skinned Mesh
コンポーネントを使用すると、BlendShapeに対するアニメーションが競合する
#
この問題は既知のバグであり、現時点では競合してしまう仕様です。
BlendShapeに対してアニメーションされるメッシュを統合する際は、競合しないようご注意ください。 競合する場合は警告が表示されるので、そちらを確認してください。
この問題のissue: #568
OSCギミックで使用されているPhysBone / Contact Receiverが動作していない #
AAO Trace and Optimize
コンポーネントは、アバターの振る舞いを変えないように慎重に設計されています。
しかし、技術的な理由から、AAO Trace and Optimize
コンポーネントはPhysBone / Contact ReceiverコンポーネントがOSCギミックで使用されているかどうかを判断することができません。
最近のアバターは、PhysBone / Contact Receiverコンポーネントを使用した独自のギミックを持っていることがあるため、これらのコンポーネントを削除し忘れることがよくあります。
そのため、AAO Trace and Optimize
は、そのようなコンポーネントがOSCギミックで使用されていないと仮定して、それらが他の用途で使われていなければ削除します。
この仮定は正しいとは限らないため、PhysBone / Contact Receiverコンポーネントが(AnimatorやExpression Menuを使用せずに)OSCギミックで使用されている場合には、Asset Descriptionファイルを作成し、Parameters Read By External Toolsを設定してください。
そのギミックが公開・販売されているような場合には、そのギミックとAAOの互換性を改善するために、作成した Asset Descriptionファイルを共有していただけると助かります。 そのAsset Descriptionを将来のAvatar Optimizerに組み込むことにより、そのギミックが正しく動作するようになるかもしれません。 共有していただける場合は、GitHub、NDMF Discord、Fediverse (Misskey / Mastodon)、Twitterなどからご連絡ください。
ビルド前のハードリミットチェックのせいでアバターをアップロードできない #
Avatar Optimizerなどの非破壊的なアバター改変ツールを使うと、元々ハードリミットを超えているようなアバターでも、ビルド後にはハードリミットを超えないようになることがあります。
しかし、VRCSDKのコントロールパネルにあるアップロードボタンは、シーン上のアバターがハードリミットを超えている場合には押せないようになっています。
そのような場合でも、以下のような方法を使って、ビルド前のハードリミットチェックを飛ばしてアップロードすることができます。
(ビルド後のハードリミットチェックも存在するため、ビルド後にハードリミットを超える場合は以下の方法でもアップロードに失敗します。)
Manual bake avatar
で生成したアバターをアップロードする。アバターのGameObjectを右クリックして出てくるメニューの
NDM Framework
からManual bake avatar
をクリックすると、非破壊ツールによる処理を手動で適用することができます。Manual bake avatar
は初めにアバターを複製し、その複製に対して非破壊ツールの処理を適用させるため、元のアバターは変更されないままになります。Sayamame-beansのUpload without pre-checkを使用してアップロードする。
Upload without pre-checkは、ビルド前のハードリミットチェックをスキップしてアップロードするためのツールです。
kurotuのVRCQuestToolsを使用する
VRCQuestToolsは、アバターをAndroid / Quest対応アバターに変換するためのツールです。
このツールには、ビルド前チェックをスキップしてアバターをAndroid向けにビルドするためのVQT Avatar Builderという機能が含まれています。
Avatar Optimizerの開発を支援したい #
Avatar Optimizerの開発を支援したい場合、GitHub DiscussionsでのフィードバックやGitHub Issuesでのバグ報告、機能追加の要望、またプルリクエストなどを歓迎しています。
good first issueが付いているissueは、比較的実装が簡単なissueです。初めてのプルリクエストにおすすめです。 また、help wantedが付いているissueは、開発者や情報などが不足しているissueです。議論や開発に参加していただけると助かります。
なお、GitHub SponsorsやBoothでの金銭的な支援も受け付けています。