Skip to main content

Merge Animator

Merge Animator

Merge Animatorコンポーネントは、指定したアニメーターをアバターの指定したレイヤーに追加します。 ドラッグアンドドロップだけで導入できるAV3ギミックを実装する時には便利です。

このコンポーネントを使ったサンプルも二つ付属します。手を合わせて叩くギミックと、指ペンが使えるギミックです。

いつ使うもの?

アセットの中に、アバター本体のアニメーターに追加するコントローラーがあった場合に使います。

非推奨の場合

既存のレイヤーをそのままにして、指定したコントローラーを追加するだけです。完全に既存のアニメーターを置き換える場合は従来通り ユーザーに差し替えてもらいましょう。

セットアップ方法

Merge Animatorコンポーネントをプレハブの中の任意のオブジェクトに追加して、統合されるアニメーターに自分のアニメーターコントローラーを指定します。 そして、「レイヤー種別」をFXなど、アバターディスクリプタにあるアニメーター種別を指定します。

アニメーションの収録

デフォルトでは、アニメーターの中のパスはMerge Animatorコンポーネントを基準に相対的に解釈されます。 Merge Animator以下のオブジェクトだけをいじる場合は、これでアニメーションの収録が簡単にできます。

GameObjectにAnimatorコンポーネントも追加して、Animationパネルでアニメーションを収録できます。

Recording an animation using Merge Animator

開発の補助として、「付属アニメーターを削除」を入れると、同じオブジェクト内のAnimatorが自動的に排除されます。

ヒューマノイドボーンのアニメーション

ヒューマノイドボーンを操作するアニメーションは上記の相対的なパスで解釈されるのではなく、アバター全体に適用されます。 AFKアニメーションなどほとんどのヒューマノイドアニメーションがそのまま使えるというわけです。

パスモード

パスモード設定に応じて、アニメーションのパスの扱いが変わります。「相対的」モードでは、アニメーションのパスが特定のオブジェクトを基準として解釈されます。これで移動されても動作するギミックが作れるし、アニメーションの収録がしやすくなります。デフォルトでは、コンポーネントがついているオブジェクトが基準になりますが、「相対的パスのルート」で変更できます。

自分のプレハブ外の、元々からあったオブジェクトを操作する場合は、「パスモード」を「絶対的」に変えてください。 これでアニメーターの中のパスがアバターを基準に解釈され、Merge Animatorから相対的に解釈されるシステムがはずされます。 上記の収録方法が使えなくなるわけです。

Write Defaults

デフォルトでは、アニメーターの中のWrite Defaults設定がそのまま使われます。アバターに合わせたい場合は、「アバターのWriteDefaults設定に合わせる」を入れてください。 アバターの既存アニメーターが一貫して同じWriteDefault設定を使っているかを判断して、それに合わせます。 なお、アバターがもともとからWD設定を混合している場合は、統合するアニメーターの設定をそのまま採用します。

制限

VRCAnimatorLayerControl

現在、VRCAnimatorLayerControlのState Behaviorに関しては、単一アニメーター内のレイヤーを操作する場合のみに対応しています。 かならずPlayable値がMergeAnimatorのレイヤー種別と同じになるようにして、Layer値を自分のアニメーター内のレイヤー番号にしてください。