开始,物体移动方向和相机视角方向一致,但经过旋转之后,物体的移动依然是按照摇杆控制的世界坐标的方向移动,所以就造成了,物体移动方向和相机视角不一致的情况。
贴下代码:
private void Moving(Vector2 arg0)
{
float x = arg0.x;
float z = arg0.y;
if (x != 0 || z != 0)
{
Vector3 targetDirection = new Vector3(x, 0, z);
float y = Camera.main.transform.rotation.eulerAngles.y;
targetDirection = Quaternion.Euler(0, y, 0) * targetDirection;
transform.LookAt(targetDirection + transform.position);
transform.Translate(targetDirection * Time.deltaTime * 6f, Space.World);
}
Ok!