こんにちは、Unityエンジニアのオオバです。
まさにタイトルの通りで、Animatorコンポーネントのルートモーションの使い方が実はよくわかっていなかったので確認しました。
![UnityのRootMotionへの理解がフワっとしていたので明らかにした_0](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181026/20181026034416.png#728__500)
サンプルとして、立方体のルート階層をX軸方向に動かすアニメーション
で検証します。
![UnityのRootMotionへの理解がフワっとしていたので明らかにした_1](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181026/20181026034127.gif)
すると、このような予想通りの結果になりました。
RootMotionにチェックを入れると、ルートのポジションがアニメーションを再生するたびに移動していき、帰ってくることはありません。
![UnityのRootMotionへの理解がフワっとしていたので明らかにした_2](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181026/20181026033955.png#688__482)
ルート階層にアニメーションカーブが存在すると、AnimationClipのインスペクタにGenerate Root Motion Curve at Runtime
というチェックボックスが現れます。
これにチェックを入れないと、そもそもAnimatorのRootMotionにチェックを入れてもアニメーション自体が再生しません(ちょっとハマりました)。
この機能があれば、たしかにUnityのMecanimサンプルでよくある歩行や走行アニメーションでルートポジションが移動していく意味がわかります。
今までこの機能を使っていなかったのが悔やまれます。Unity5から導入されているようで...
しかし、スッキリしました。
以上
参考
![](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181026/20181026034416.png#836.0__574.0)
この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- Unity 2018.2.11.f1