【Blender】倒れるアニメーション、Unityだと浮かんでいる件


Blender2.79b
Unity2019.1.0f2
Windows10

アニメ倒れたら浮く/トップ

Blenderで人型オブジェクトが倒れるアニメーションを作りました。

アニメ倒れたら浮く/Blenderにて

ここではちゃんと足元の高さに倒れているのですが、Unityで再生してみると・・・

アニメ倒れたら浮く/Unityにて

このように宙に浮いて倒れてしまいます。
最初CapsuleColliderのせいかと思い足元だけに設置しても効果なし。
Rigidbodyで重力入れてもColliderの位置が変わらなければ意味なし。
AnimatorコンポーネントのApplyRootMotionにチェック入れると余計変になりました。

はてさてどうしたものかと色々試していたらようやく解決策を見つけました。
まず該当のアニメーションクリップをクリックし、InspectorのAnimationタブを選びます。

アニメ倒れたら浮く/Inspector/Animationタブ

その中のRootTransformPosition(Y)BakeIntoPoseにチェックを入れてApplyします。

アニメ倒れたら浮く/Inspector/Animationタブ/RootTransformPosition(Y)のBakeIntoPose

そうするとこのように地面に倒れてくれます。

アニメ倒れたら浮く/Unityにて/解決

RootTransformPosition(Y)の他に、
RootTransformRotation
RootTransformPosition(XZ)
この2つがありますが、これらのBakeIntoPoseにチェック入れても何も変わりませんでした。

ユニティちゃんのアニメーションに倒れるDAMAGE01があり、その設定を見ると3つすべてにチェック入れてあるのでそれを真似したら良いのかもしれません。

アニメ倒れたら浮く/ユニティちゃん/DAMAGE01/Inspector

こちらはRootTransformPosition(Y)などを説明している公式サイトのページです。

ルートモーションの仕組み

読んでもはっきりとは理解できませんでしたが、やはりRootTransformPosition(Y)は高さを調節するようです。

何にしても解決できてほっとしました。

「Blender標準テクニック」でアニメ美少女作成に挑戦!その成果を発表します

【Blender】人型キャラクターをUnityに移しアニメーションさせる【Humanoid】

【Blender】UnityのHumanoidに設定するとアニメーションで骨盤だけが動かない件

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

スポンサーリンク

目次に戻る