SteamVR 2.0设备手柄认识——绑定BindingUI——手柄检测(一)

本文深入探讨VR手柄的各种输入类型,包括bool、vector1、vector2、vector3、pose和skeleton,以及如何在Unity中使用SteamVR插件进行手柄按键检测。通过实例代码展示了如何获取扳机、握持和触控板的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设备认识

手柄

在这里插入图片描述

设备接口

在这里插入图片描述

Action类型

bool、vector1、vector2、vector3、pose、skeleton
在这里插入图片描述

bool

既然是按键自然有按下,抬起,一直按,双击
菜单,电源,扳机都是bool值

Vector1

2019年4月15日13:57:13
抱歉这个暂时不知道怎么用,如果你知道可以告诉我。
2020年7月6日16点18分
扳机按下的力度 0-1会有映射

Vector2

触控板也是触控键,二维坐标,很好理解
在这里插入图片描述

Vector3

三维坐标,可以理解为手柄的位置,和头显位置。

Pose

2019年4月15日13:57:13
抱歉这个暂时不知道怎么用,如果你知道可以告诉我。

skeleton

猜测跟骨胳手有关系,还是暂时没用过,毕竟刚学

ActionSet动作集

属于包含关系
动作集包含动作,而动作包含动作类型
如同下图,
default platformer buggy 都是动作集,
interactUI teleport grabpinch move 都是动作
这两个可以自定义,而动作类型不行
bool vector2 pos

OpenBindingUI

SteamVR Input窗口。点击OpenBindingUI。会自动浏览器打开绑定界面,前期打开steam,与连接vive设备
**注意:**新的插件,忘了那个版本,点击OpenBindingUI,
不会在浏览器弹框了,请使用新版SteamVR或手动更改端口
GitHub问题描述:https://github.com/ValveSoftware/steamvr_unity_plugin/issues/562
在这里插入图片描述

在这里插入图片描述
会看到跟Unity里边一样的属性
在这里插入图片描述

在这里插入图片描述

手柄按键检测

以前这样检测手柄
在这里插入图片描述
2.0这样

    private Hand hand;
    private SteamVR_Input_Sources handType;

    //扳机
    public SteamVR_Action_Boolean trrigerKey = SteamVR_Input.GetAction<SteamVR_Action_Boolean>("default", "GrabPinch");

    //握持
    public SteamVR_Action_Boolean gripKey;
    //触控
    public SteamVR_Action_Boolean touchPadKey; 
 void Start()
    {
        hand = GetComponent<Hand>();
        handType = hand.handType;
    }
 // Update is called once per frame
    void Update()
    {
        if(trrigerKey.GetStateDown(handType))
        {
            Debug.Log(handType + "扳机按下");
        }

        if (gripKey[handType].stateDown)
        {
            Debug.Log(handType + "握持按下");
        }

        if (touchPadKey.GetStateDown(handType))
        {
            Debug.Log(handType + "触控按下 ");
        }
    }

脚本挂到手上
在这里插入图片描述
在这里插入图片描述
我发现steamvr检测输入有多种方式,以及获取动作,
目前还有输入,我并不懂,pose vector1 跟骨胳,如果以后明白,后期会修改博客。
下几篇,讲解。传送,射线等

steamVR文档
https://valvesoftware.github.io/steamvr_unity_plugin/api/index.html

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值