最近遇到这样一个问题,
给一个3D角色添加简单的移动脚本,用WASD控制移动
可是在游戏里 按w人物并不向上移动,而是斜着走,是有什么问题我忽略了吗?
附上简易代码
//获取输入
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
//没有进行移动
if (h == 0 && v == 0)
{
animator.SetBool("Walk", false);
}
//操作移动
else
{
animator.SetBool("Walk", true);
// 处理转身 获取4元方向,并过渡 转身
targetDirQuaternion = Quaternion.LookRotation(new Vector3(h, 0, v));
transform.localRotation = Quaternion.Slerp(transform.localRotation, targetDirQuaternion, Time.deltaTime * 5f);
//处理移动
characterController.SimpleMove(new Vector3(h, 0, v).normalized * moveSpeed);
同学你好,可以参考一下:
https://www.bilibili.com/video/BV1kb41137k8/?spm_id_from=333.337.search-card.all.click&vd_source=7ca73f4c884b6f5f603eb078f8cad8a6
另外可以看一下其他案例里的实现