Oculus Quest手柄按钮事件和发射射线

废话不说  直接上代码

 

 

下面是Oculus quest右手手柄的按钮代码

if (OVRInput.GetDown(OVRInput.RawButton.RThumbstickUp))

        {

            hand_info.text = "手柄状态:摇杆上";

        

        }

        if (OVRInput.GetDown(OVRInput.RawButton.RThumbstickDown))

        {

            hand_info.text = "手柄状态:摇杆下";

        

        }

        if (OVRInput.Get(OVRInput.RawButton.RThumbstickLeft))

        {

            hand_info.text = "手柄状态:摇杆左";

        }

        if (OVRInput.Get(OVRInput.RawButton.RThumbstickRight))

        {

            hand_info.text = "手柄状态:摇杆右";

        }

        if (OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger))

        {

            hand_info.text = "手柄状态:扳机键";

        }

        if (OVRInput.GetUp(OVRInput.RawButton.RIndexTrigger))

        {

            hand_info.text = "手柄状态:扳机键松开";

        }

        if (OVRInput.GetDown(OVRInput.RawButton.RHandTrigger))

        {

            hand_info.text = "手柄状态:侧边按键按下";

        }

        if (OVRInput.GetUp(OVRInput.RawButton.RHandTrigger))

        {

            hand_info.text = "手柄状态:侧边按键松开";

        }

        if (OVRInput.GetDown(OVRInput.Button.One))

        {

            hand_info.text = "手柄状态:按键A";

        }

        if (OVRInput.GetDown(OVRInput.Button.Two))

        {

            hand_info.text = "手柄状态:按键B";

        }

 

Oculus quest手柄发射射线:

Ray ray = new Ray(Finger.transform.position, Finger.transform.forward);

 

        Linerenerer.SetPosition(0, ray.origin);

 

        if (Physics.Raycast(ray, out hit))//检测到物体

        {

 

            Linerenerer.SetPosition(1, hit.point);

       }

 

 

射线检测功能可以直接用Ray ray = new Ray(起始点, 起始点的正方向),;这里注意的是Linerenerer的可见射线的起点方向要和 Ray射线的起点/方向一致:

Linerenerer射线起点:

Linerenerer.SetPosition(0, ray.origin);(ray.origin为Linerenerer射线的起点,也是ray射线的起点 )

Linerenerer射线终点:

Linerenerer.SetPosition(1, hit.point);(hit.point为ray射线检测到物体发生碰撞的点,也是Linerenerer射线的终点)

 

总的来说就是同一个点发射两条射线:一条射线Ray看不到,作用是进行射线检测,另一条射线看得到,作用是在VR场景中给体验者看到一条光线

Linerenerer组件挂物体上:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值