You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

原生HTC Vive输入在Unity OpenXR环境下无响应问题咨询

问题1:Vive主按键无法识别的原因
  • 设备仅在Start中单次获取,容易失效:Vive手柄如果出现启动时未完成配对、运行中重连的情况,你提前缓存的device变量就会指向无效设备,后续调用TryGetFeatureValue自然拿不到正确的按键状态。你可以在Update中先判断device.isValid是否为true,无效就重新调用InputDevices.GetDevicesAtXRNode更新device变量即可。
  • 未添加Vive控制器的OpenXR交互配置:如果你的项目OpenXR设置里只加了Oculus Touch的配置文件,Unity不会自动映射Vive手柄的按键,只要在「Project Settings > XR Plug-in Management > OpenXR > Interaction Profiles」中添加HTC Vive控制器的配置文件就能解决。
  • 特殊版本的按键映射适配:部分版本的OpenXR插件会把Vive手柄触控板的按压事件映射到CommonUsages.primary2DAxisClick而非primaryButton,你可以额外增加一行读取该属性的逻辑做兼容。
问题2:Vive菜单键的检测方法

Unity XR的通用属性定义中已经包含了菜单键的配置,不需要额外自定义,直接用下面的代码即可读取:

bool isMenuPressed;
device.TryGetFeatureValue(CommonUsages.menuButton, out isMenuPressed);

如果以上代码读取失败,你也可以通过Unity Input System的动作映射配置实现:新增一个菜单按键的Action,绑定路径选择对应Vive手柄的菜单点击路径即可,同时也可以给Oculus设备的菜单键加同样的Action绑定,实现跨设备兼容。

内容的提问来源于stack exchange,提问作者Drew Parmelee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:36:03