【发布时间】:2017-08-29 07:19:41
【问题描述】:
正如标题所说,我希望使用Xbox控制器的左摇杆和Input.GetAxis()方法来实现逐渐增加的移动速度。问题是我需要标准化运动矢量,以阻止对角线运动比向前、向后等运动更快。归一化会自动将幅度设为 1,因此我失去了用左摇杆位置控制速度的能力。提前致谢!
可以通过摇杆的位置来控制速度的大小,但是斜向移动比其他移动要快。
Vector3 moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
rigidBody.MovePosition(transform.position + moveDirection * moveSpeed * Time.deltaTime);
不能通过摇杆的位置来控制速度的大小,但是对角线的移动和其他移动的速度是一样的。
Vector3 moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
rigidBody.MovePosition(transform.position + moveDirection.normalized * moveSpeed * Time.deltaTime);
【问题讨论】:
-
尝试rigidBody.position = transform.position + moveDirection.normalized * moveSpeed * Time.deltaTime;
-
@CổChíTâm 感谢您的回复,在这种情况下更改不会影响任何事情。