Unity中实现通过键盘控制物体在平面上下左右移动

 void Update()
    {
        MoveLikeWow();
    }

    private void MoveLikeWow()
    {   //这里Horizontal移动在edit-projec setting中更改了设置
        var horizontal = Input.GetAxis("HorizontalPlayer2");
        var vertical = Input.GetAxis("VerticalPlayer2");

        
        controller.Move(new Vector3(horizontal, 0, vertical) * Time.deltaTime * speed);
        if (horizontal != 0 || vertical != 0)
        {
            Rotating(horizontal, vertical);
        }

        void Rotating(float horizontal, float vertical)
        {
            Vector3 targetDir = new Vector3(-1 * vertical, 0, horizontal);

            // 传入一个向量值使物体朝向向量方向
            Quaternion targetRotation = Quaternion.LookRotation(targetDir, Vector3.up);

            transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, RotateSpeed * Time.deltaTime );
            
        }

    }
    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值