之前的一篇文章我利用InputSystem实现了虚拟摇杆控制角色简单的平面移动(上一篇文章:https://blog.csdn.net/ranger_desk/article/details/131999396?spm=1001.2014.3001.5501),但是在实际运行中会发现,当角色走下斜坡或是跳跃后无法落回地面,这就不得不说一下CharaController这个组件的一些特性了。
可以看到,官方的说法中有两个特性:
1.CharacterController 可使您轻松进行受碰撞约束的移动,同时不必处理刚体。
2.CharacterController 不受力影响,仅在您调用 Move 函数时才会移动。 然后它执行移动,但受碰撞约束。
有点抽象,不过只要记住CharacterController.Move不同与刚体自带的重力,要实现重力得自己添加(tips:CharacterController组件和Rigidbody组件不能同时挂载)。
想明白这点,之后得解决方法就很简单了,先定义重力和下落时的速度