こんにちは、Unityエンジニアのオオバです。

まさにタイトルの通りで、Animatorコンポーネントのルートモーションの使い方が実はよくわかっていなかったので確認しました。

UnityのRootMotionへの理解がフワっとしていたので明らかにした_0

サンプルとして、立方体のルート階層をX軸方向に動かすアニメーションで検証します。

UnityのRootMotionへの理解がフワっとしていたので明らかにした_1

すると、このような予想通りの結果になりました。

RootMotionにチェックを入れると、ルートのポジションがアニメーションを再生するたびに移動していき、帰ってくることはありません。

UnityのRootMotionへの理解がフワっとしていたので明らかにした_2

ルート階層にアニメーションカーブが存在すると、AnimationClipのインスペクタにGenerate Root Motion Curve at Runtimeというチェックボックスが現れます。
これにチェックを入れないと、そもそもAnimatorのRootMotionにチェックを入れてもアニメーション自体が再生しません(ちょっとハマりました)。

この機能があれば、たしかにUnityのMecanimサンプルでよくある歩行や走行アニメーションでルートポジションが移動していく意味がわかります。

今までこの機能を使っていなかったのが悔やまれます。Unity5から導入されているようで...

しかし、スッキリしました。

以上

参考

オススメ記事
検証環境