unity给人物加刚体组件之后,人物行走动画变成原地的动画了

问题遇到的现象和发生背景

想让人物在甲板上行走时不会穿过栏杆
在栏杆四周设置了box collider,给人物设置了capsule collider和rigidbody

img

在没给人物添加刚体组件时,人物是可以实现前后左右行走的,只是会穿过围栏。
添加刚体组件后,人物就只能原地做动画里的动作了。

问题相关代码,请勿粘贴截图

img

我的解答思路和尝试过的方法

试过用Rigidbody.MovePosition但是还是达不到目标效果
应该需要修改一下脚本,但是实在是不知道如何修改了,所以来求帮助!九九五吧!

你的代码中transform.Rotate是使物体进行旋转的API,并没有实现移动的逻辑。如果能移动那应该是你的动画本身带有位移,你需要将动画本身带有的位移禁用,然后在代码中使用rigidbody刚体实现移动。
可以简单参考(手机写的,符号可能不对):
rigidbody.velocity = new Vector3(Input.GetAxis(“Horizontal”),0,Input.GetAxis(“Vertical”));

勾选刚体组件上的Is Kinematic