我正在为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控制器。
谢谢你,圣诞快乐!
答案 0 :(得分:0)
现在,当鼠标按钮被按下时,模型旋转并停止旋转 按下。释放鼠标按钮时,它应继续旋转 -但事实并非如此。为什么?
您正在使用OnMouseDown
事件。当按下鼠标按钮时,总是会触发该事件,因此将_shouldRotate
设置为false并停止移动。
您需要使用OnMouseUp
事件,该事件将在释放鼠标按钮时触发。
在下一步中,我要从鼠标更改为 OculusGo控制器。因此,不是鼠标按钮导致了 “旋转停止”,但是OculusGo控制器。
对于下一步,您需要找到OculusGo文档并找到按下和释放按钮时正在触发的事件。您将必须找到与OnMouseUp
类似的东西;并且可能是,检查发送给该函数的参数以识别触发事件的按钮。
希望这对您也有帮助,祝您圣诞快乐。