停止在索引触发器上旋转

时间:2018-12-22 13:21:28

标签: c# unity3d oculusgo

我正在为OculusGo创建一个统一的虚拟现实世界。 我正在使用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;
   }
}

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

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

谢谢你,圣诞快乐!

1 个答案:

答案 0 :(得分:0)

  

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

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

  

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

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

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