[XR]监听ViveController输入(SteamVR Input版)

开发环境:

  1. Windows 10 专业版;
  2. Unity 2020.3.23f1c1 (64-bit);
  3. SteamVR Plugin (v2.7.3);

步骤:(默认已安装好开发环境,在空场景中添加控制)

  1. 生成Action绑定:
    1. 打开SteamVR Input窗口:Window => SteamVR Input
    2. 本案例使用默认设置,直接点击 save and generate 
    3. 若要丰富其他设置可以上网找;
    4. 文件路径:Assets/StreamingAssets/SteamVR/actions.json
  2. 创建空节点:
    1. 挂载组件 SteamVR_Behaviour,目的是加载上一步生成的配置(在这一步卡了好久,蛋疼,在任何一个文档里都没有查到这一步,如果有知道的大神,欢迎补充,感激不尽);
    2. 挂载组件 SteamVR_ActivateActionSetOnLoad,目的是指定默认加载哪个配置,默认就使用default即可;
    3. 挂载组件 SteamVR_Render ,不挂也行,默认会由第一步检测并生成;
    4. 值都是默认的就可以;
  3. 添加监听逻辑:
    1. 随便找个组件,新建也可,添加代码:
      // 声明
          public SteamVR_Input_Sources sourceType;
          public SteamVR_Action_Boolean action;// 根据实际设置的对应值使用
      // 调用
          var val = action.GetState(sourceType);// 拿到需要的值

  4. 其他的应该在网上都能查到了,这里就不啰嗦了。

参考文档:

  1. unity工程里的SteamVR目录下会自带2个文档,但是好简略;
  2. Steam VR官方1:SteamVR Unity Plugin | SteamVR Unity Plugin https://valvesoftware.github.io/steamvr_unity_plugin/index.html
  3. SteamVR官方2:Overview | SteamVR Unity Plugin https://valvesoftware.github.io/steamvr_unity_plugin/tutorials/SteamVR-Input.html
  4. 其他大神1:SteamVR Unity Plugin总结_小M的博客-CSDN博客官方文档建议优先阅读官方文档,虽然是英文但是内容很全,而且也是最新版本的。之前网上搜出来的很多代码都是2.0版本的,现在2.5版本有些代码写法改变了,需要注意一下。SteamVR Unity Plugin官方文档概述SteamVR Unity Plugin我认为可以分为三个部分外加一个demoRender Models把SteamVR_Behaviour_Pose脚本挂在一个game...https://blog.csdn.net/LittlelittleSir/article/details/105636712
  5. 其他大神2:SteamVR Unity Plugin - v2.2.0教程 / 简单输入系统_高大猛-CSDN博客概述SteamVR2.0将用户自定义的动作Action与手柄按键绑定,配置完毕后,其他设备也可以正常使用。能够使开发者在编程中专注于用户的动作,而非具体的设备的按键。InputSystem,即输入系统,开发人员通过自定义配置将默认动作与手柄按键进行绑定,而不是将直接操作具体设备的按键,因为很多每个平台的设备是不同的,这样可以快速适配应用程序,不需要修改代码。比如:当开发者检测玩家是否抓取某...https://blog.csdn.net/gsm958708323/article/details/89853185

一直没有找到关于SteamVR_Behaviour的说明,最后自己运行官方例子工程,一点一点打断点找到的这个组件脚本,再次表示蛋疼。

猜你喜欢

转载自blog.csdn.net/GrimRaider/article/details/121696658
今日推荐