0

我正在为 OculusGo 创建一个统一的 VR 世界。我正在使用 OVR CameraRig 和 Oculus 实用程序。我有一个通过以下脚本旋转的模型:

public class rotation_2 : MonoBehaviour
{
public bool _shouldRotate = true;

void Update()
   {
    if (_shouldRotate)
        transform.Rotate(new Vector3(0, Time.deltaTime * 8, 0));
   }

void OnMouseDown()
   {
    if (_shouldRotate)
        _shouldRotate = false;
   }
}

现在,当按下鼠标按钮时,模型会旋转并停止旋转。释放鼠标按钮时,它应该继续旋转 - 但事实并非如此。为什么?

在下一步中,我想从鼠标更改为 OculusGo 控制器。因此,导致“旋转停止”的不是鼠标按钮,而是 OculusGo 控制器。

谢谢你,圣诞快乐!

4

1 回答 1

0

现在,当按下鼠标按钮时,模型会旋转并停止旋转。释放鼠标按钮时,它应该继续旋转 - 但事实并非如此。为什么?

您正在使用该OnMouseDown事件。当按下鼠标按钮时,该事件总是会触发,因此设置_shouldRotate为 false 并停止移动。您需要使用该OnMouseUp事件,该事件将在释放鼠标按钮时触发。

在下一步中,我想从鼠标更改为 OculusGo 控制器。因此,导致“旋转停止”的不是鼠标按钮,而是 OculusGo 控制器。

对于下一步,您需要找到 OculusGo 文档并找到在按下和释放按钮时触发的事件。您将不得不找到类似于OnMouseUpand 的东西;可能,检查发送给函数的参数以识别触发事件的按钮。

希望这对你有帮助,也祝你圣诞快乐。

于 2018-12-26T10:09:15.417 回答