在Unity中触摸游戏对象的Z旋转

时间:2017-07-05 12:54:20

标签: c# android unity3d rotation

我正在尝试在触摸时在X轴和Y轴上旋转游戏对象,代码工作正常,但它也会影响z旋转,我不想要Z-Rotation, 我的gameObject不包含Rigid-body所以我不能应用Z-rotation约束。我在互联网上搜索过这个问题,但无法得到任何合适的解决方案。 任何帮助,将不胜感激。 Thankx

这是我的代码:

public class Rot : MonoBehaviour {
    private float RotateSpeed   = 10f;

    void OnMouseDrag () {
        float xRot = Input.GetAxis ("Mouse X") * RotateSpeed * Mathf.Deg2Rad;
        float yRot = Input.GetAxis ("Mouse Y") * RotateSpeed * Mathf.Deg2Rad;

        transform.RotateAround (Vector3.up, -xRot);
        transform.RotateAround (Vector3.right, yRot);    
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个,

transform.Rotate(new Vector3(-xRot,yRot,0.0f),Space.Self);

如果要设置绝对旋转,请使用transform.localEulerAngles

相关问题