使用transform.eulerAngles旋转与期望方向相反的对象

本文关键字:对象 方向 期望 transform eulerAngles 旋转 使用 | 更新日期: 2023-09-27 18:02:03

下面的代码允许我通过加速度计旋转我的对象。

void launch() {
    x = Input.acceleration.x;
    finalSpeed = liftSpeed - velocity;
    GetComponent<ConstantForce2D> ().relativeForce = Vector3.right * (finalSpeed);
    rotationZ += x * sensitivityZ;
    rotationZ = Mathf.Clamp (rotationZ, 45, 135);
    transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, rotationZ);
}

我从中提取的代码示例有:

transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, -rotationZ);

这会导致我的对象上下颠倒所以我将-rotationZ改为rotationZ:

transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, rotationZ);

对象在期望的角度范围内来回旋转,但当我倾斜时,它以错误的方式旋转。我怎样才能逆转呢?我向左倾斜我的手机,我的物体向右倾斜。我想向左倾斜,然后向左。

使用transform.eulerAngles旋转与期望方向相反的对象

明白了。我只是改变了

    rotationZ += x * sensitivityZ;

:

    rotationZ -= x * sensitivityZ;

现在它在正确的方向旋转