【Unity】NavMeshAgentの敵が足滑りを起こして吹っ飛んでいく現象の対策。

どうも、だらはです。
先日、敵キャラを実装していたときに、NavMeshAgentが意図しない挙動となりました。
具体的には、敵キャラを殴ると、足滑りを起こして殴られた方向に滑って行ってしまう現象が再現しました。
今回はこの現象の対策方法をまとめていきます。

スポンサーリンク

原因は敵キャラの設定

結論から言うと、原因は敵キャラの設定にありました。
具体的に言うと、NavMeshAgentRigidbodyと共に使う場合、Is Kinematicをオンにする必要があるようです。
Is Kinematicとは、Rigidbodyが物理シミュレーション以外のものに操作されることを意味するものだからです。
もしIs Kinematicがオフの場合、競合状態が生じて意図しない挙動が起きる場合があると、公式HPに記載がありました。

◆公式HP

◆参考図

最後に

いかがでしたでしょうか。
ポイントは、NavMeshAgentを使う場合はRigidbodyIs KinematicをONにするです。

イーチコターチコ!

以上、だらはでした。

スポンサーリンク

基礎

Posted by daraha_gm