2

我无法限制旋转。我已将此脚本添加到 Cardboard Main 对象、Head 对象和 Main Camera 对象中,但没有成功。这是我到目前为止所拥有的,它不会停止旋转。

void FixedUpdate () {

    if (transform.eulerAngles.y > 60 && transform.eulerAngles.y < 190)
    {

        transform.eulerAngles = new Vector3(transform.eulerAngles.x, 60, transform.eulerAngles.z);
    }

    if (transform.eulerAngles.y > 190 && transform.eulerAngles.y < 300)
    {

        transform.eulerAngles = new Vector3(transform.eulerAngles.x, 300, transform.eulerAngles.z);
    }
}

提前致谢!

4

2 回答 2

3

google cardboard SDK 有代码设置每帧的头部方向。即使你设置了你的,他们也会在执行时覆盖它。如果您想调整头部运动,请通过修改 Cardboard 脚本来实现。

另外,你不应该做这样的事情。在 VR 应用程序中强制用户移动相机是一种让他们迷失方向或恶心的简单方法。你想通过限制头部的可能方向来达到什么目的?

于 2015-05-04T06:38:13.743 回答
0

在 CardboardHead.cs 中,在 UpdateHead() 下添加以下内容bool updateEarly

public float limit = 0.5f;

然后改变:

transform.localRotation = rot;

到:

transform.localRotation = Quaternion.Slerp(rot, Quaternion.Euler(Vector3.forward), limit);

这将为您提供头部对象的限制参数,您可以使用该参数来限制 Cardboard 旋转的灵敏度。

于 2015-10-02T22:18:57.610 回答