Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

请教各位老师,关于3D角色 移动方向的问题
wangzixin1发起了话题2023-03-08
1
回复
362
浏览

最近遇到这样一个问题,

给一个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);

所有回复
  • 老师_Trigger • 2023-03-09

    同学你好,可以参考一下:

    https://www.bilibili.com/video/BV1kb41137k8/?spm_id_from=333.337.search-card.all.click&vd_source=7ca73f4c884b6f5f603eb078f8cad8a6

    另外可以看一下其他案例里的实现

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!