LoginSignup
3
1

More than 5 years have passed since last update.

ジャンプする時colliderがはまらない&Animationは重力に影響されない時の解決法

Posted at

 はまらないという状況は?

image.pngimage.png
見てるとおり、YUKOちゃんがジャンプする時、体にあるコライダーがずれました。

 なぜコライダーははまらない

image.png
image.png
原因は上の二つのパラメータ。
image.png
キャラモデルは一つのemptyObjectと複数の子物体に構成されています。
Apply Root Motionにチャックを入れると、子物体のモーションが親物体のtransformを影響できます。
Bake into pose にチャックを入れると、モーションは子物体しか影響できなくて、親物体の位置、回転などは変化しません。入れないと親の属性も影響されます。

一般的にはBake into poseにチェックを入れたまま、コードで物体を操作するが、ジャンプする場合は入れると親についてるコライダーも移動しない故、ずれが生じる。

つまり正解はApply Root Motionにチェックを入れて、Y軸のBake into poseにチェックを入れない

AnimationTabとrootMotationについて詳しいことは公式ドキュメンテーションで確認:
https://docs.unity3d.com/Manual/RootMotion.html
https://docs.unity3d.com/Manual/class-AnimationClip.html

でも、問題は完全に解決されていない!

 Bake into poseに入れると、重力に影響されない!?

image.png
↑↑↑↑↑アニメーションが完了しても、YUKOちゃんは空中に浮かんだままです。

その原因はBake into poseにチェックを入れると、アニメーションはObjectのTreansformを支配する

影響力の高さ:
Animator > Update Method = Animate Physics

解決策:
image.png
Curvesにこういうものを入れましょう。
こうすると、アニメーションも重力に影響されるようになりました!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1