我正在为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控制器。
谢谢你,圣诞快乐!
现在鼠标按钮处于按下。鼠标按钮释放时,它应该继续旋转-但事实并非如此。为什么?
您正在使用OnMouseDown
事件。当按下鼠标按钮时,该事件总是会触发,从而将_shouldRotate
设置为false并停止移动。您需要使用OnMouseUp
事件,该事件将在释放鼠标按钮时激发。
在下一步中,我想将鼠标更改为OculusGo控制器。因此,不是Mousebutton导致"旋转停止",但OculusGo控制器。
对于下一步,您需要找到OculusGo文档,并找到按下和释放按钮时触发的事件。您必须找到类似于OnMouseUp
和;可能,请检查发送给函数的参数,以确定触发事件的按钮。
希望这对你有帮助,也祝你圣诞快乐。