modular-avatar
modular-avatar copied to clipboard
MergeBlendTreeにおいてRelativePathRootをAvatarDescriptorの設定されているオブジェクトに設定すると動作しないAnimationが生成される
発生環境 MA1.9.16 及び 1.10.3 Av3Emulator3.4.5
※AvatarDescriptorの設定されているオブジェクトをRootObjectと呼びます
再現手順 ・RootObjectの直下にCube等を作成します。例えば名称をTestObjとします。 ・新規Animationを作成してRootObjectをルートしたTestObjのトグルを記録します ・BlendTreeを作成します。例えばDirectツリーを作ってMotionFieldにAnimationを設定します。この名称をTestAnimとします。 ・RootObjectの直下にオブジェクトを作成します。MergeBlendTreeをアタッチし、BlendTreeをセットし、RelativePathRootをRootObjectに設定します。 ・Av3EmulatorでPlayモードに入ったさい該当Animationは正しく動作しません。__Generatedを確認すると、設定したAnimationの名称は「rebased TestAnim」に変更され、Animationファイル内部のPathは「/TestObj」に変更されています。
補足1: Merge Animatorではこの問題は発生しません。Animationは「TestAnim」の名称に維持され、適切に動作します
補足2: 殆どの場合これはAbsoluteを使うべき場面ですが、私には特殊な動機がありこれの正しい動作を期待していました。私はAnimatorを自動生成するコンポーネントを開発しており、MA Bone ProxyやMerge Armatureなどによってオブジェクトが移動/改名される問題を解決する必要がありました。そのために私はMA動作前に自分のコンポーネントを動作させ、RootObjectをRelativePathRootとして設定することによってMAによる編集が全て安全に反映されることを期待していました。