vr 第六次学习input入门2

xiaoxiao2021-02-28  54

一.OVRInput(复习)

1.在每个组件的Update和FixedUpdate方法的开始处分别调用OVRInput.Update()和OVRInput.FixedUpdate(),每帧一次。

2.OVRInput通过GetLocalControllerPosition()和GetLocalControllerRotation()提供触摸位置和方向数据,分别返回Vector3和Quaternion。

3.OVRManager.display.RecenterPose()重置动作位置,状态。

4.要查询配对控制器的指向性,请使用IsControllerConnected()或GetActiveController()查询RTrackedRemote或LTrackedRemote。

5.使用OVRInput.Get()查询控制器的触摸板输入。您可以使用Axis2D查询输入位置:

OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad,OVRInput.Controller.RTrackedRemote);

6.触摸可以通过OVRInput.Get(OVRInput.Touch.PrimaryTouchpad)查询。

触摸板点击是虚拟按钮的别名一次点击,并且可以使用OVRInput.Get(OVRInput.Button.PrimaryTouchpad)查询。

7.要重新启用Gear VR控制器,请使用OVRInput.RecenterController()。

二.OVRInput使用

1.   Get()查询控件的当前状态。

     GetDown()查询一个控件是否被按下了这个框架。

    GetUp()查询控件是否被释放。

2.使用设备时:

向上滑动:向上拉内容。 相当于向下滚动。

    向下滑动:向下拉内容。 相当于向上滚动。     向左滑动:将内容拉出或转到下一个项目或页面。

     向右滑动:正确拉取内容或转到上一个项目或页面。

3.OVRInput.Button触控板,Gear VR控制器触控板和后退按钮,以及Gear VR耳机触控板和后退按钮上的传统按钮。OVRInput.TouchOculus Touch和Gear VR控制器上的电容敏感控制表面。OVRInput.NearTouchOculus Touch控制器上的接近感应控制表面。OVRInput.Axis1D一维控件,例如报告浮点状态的触发器。OVRInput.Axis2D

包含拇指贴和Gear VR控制器触摸板的二维控件。报告Vector2状态。

4.第二组加raw。

5.按钮,触摸和NearTouch

设备不止能识别,用户是否触摸按钮,还可以进行感应。会有四种状态,按下,触摸,接近触摸,完全离开。

6.例子

使用示例//如果当前按下主按钮(通常是“A”),则返回true。OVRInput.Get(OVRInput.Button.One);//如果主按钮(通常是“A”)被按下此框架,则返回true。OVRInput.GetDown(OVRInput.Button.One);//如果“X”按钮被释放,则返回true。OVRInput.GetUp(OVRInput.RawButton.X);//返回主要(通常是左侧)拇指的当前状态的Vector2。//(-1.0f至1.0f的X / Y范围)OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick);//如果当前按下主拇指按钮,则返回true(单击为按钮)OVRInput.Get(OVRInput.Button.PrimaryThumbstick);//如果主拇指已经向上移动超过一半,则返回true。//(向上/向下/向左/向右 - 将拇指棒解释为D-pad)。OVRInput.Get(OVRInput.Button.PrimaryThumbstickUp);//返回辅助(通常是右)食指触发器的当前状态的浮点数。//(范围0.0f到1.0f)OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger);//返回左手食指触发器当前状态的一个浮点数。//(范围0.0f到1.0f)OVRInput.Get(OVRInput.RawAxis1D.LIndexTrigger);//如果左手食指触发器被按压超过一半,则返回true。//(将触发器解释为按钮)。OVRInput.Get(OVRInput.RawButton.LIndexTrigger);//如果用户当前触摸了辅助手柄按钮(通常为“B”),则返回true。OVRInput.Get(OVRInput.Touch.Two);   //在Gear VR触控板水龙头后返回trueOVRInput.GetDown(OVRInput.Button.One);   //当用户的手指向下滑动时脱离Gear VR触摸板控制器时,在框架上返回trueOVRInput.GetDown(OVRInput.Button.DpadDown);   //返回true在用户的手指滑过Gear VR触摸板控制器后,向右滑动框架OVRInput.GetUp(OVRInput.RawButton.DpadRight);   //如果按下Gear VR后退按钮,则返回trueOVRInput.Get(OVRInput.Button.Two);//如果按下Gear VR Controller触发器,则返回trueOVRInput.Get(OVRInput.Button.PrimaryIndexTrigger);//查询活动的Gear VR控制器触摸板点击位置//(标准化为-1.0,1.0范围,其中-1.0,-1.0为左下角)OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad,OVRInput.Controller.RTrackedRemote);//如果未指定控制器,则查询当前Gear VR控制器的触摸板位置OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad);//如果按下Gear VR Controller后退按钮,则返回trueOVRInput.Get(OVRInput.Button.Back);//重新启用活动的Gear VR控制器。对其他控制器类型没有影响。OVRInput.RecenterController();//右上角齿轮VR控制器(即使它不活动)OVRInput.RecenterController(Controller.RTrackedRemote);//当用户的手指脱离Gear VR Controller后退按钮时,在框架上返回trueOVRInput.GetDown(OVRInput.Button.Back);

转载请注明原文地址: https://www.6miu.com/read-2623947.html

最新回复(0)