当前位置: 首页 > ds >正文

【串流VR手势】Pico 4 Ultra Enterprise 在 SteamVR 企业串流中无法识别手势的问题排查与解决过程(Pico4UE串流手势问题)

写在前面的话

此前(用Pico 4U)接入了MRTK3,现项目落地需要部署,发现串流场景中,Pico4UE的企业串流无法正常识别手势。(一体机方式部署使用无问题)

花了半小时解决,怕忘,故记一下解决过程。

(Pico 4 Ultra Enterprise)关于Pico4U Enterprise在使用SteamVR串流时无法识别手势的问题


使用Pico 4U Enterprise串流SteamVR无法识别手势问题排查与解决记录

使用 MRTK3 搭建交互场景,需在 Pico 4 Ultra Enterprise(简称 Pico4U 或 Pico4UE)中使用手势识别进行交互测试。在部署落地阶段,设备以 企业串流方式连接 PC 的 SteamVR,但串流后手势识别功能完全失效。本文档总结了问题分析、串流版本对比与具体解决过程,以供后续开发或部署参考。


一、项目背景与问题现象

此前我们已经在 Pico 4U(普通一体机模式) 下成功完成了 MRTK3 的接入,手势识别良好,交互稳定。然而,当我们将设备切换至企业版串流模式,并使用 SteamVR 进行远程渲染时,发现如下异常现象:

  • SteamVR 中无法识别手势数据
  • 在控制器显示面板中 缺失“Hand”图标
  • Unity 场景内 MRTK3 无法响应手势相关交互(如抓取、点按)

下图展示了异常状态下的控制器界面:

异常状态:无Hand图标

对比正常情况下的表现,应当在控制器中能看到代表左右手的识别图标:

正常状态:可识别手势

显然,在串流过程中手势数据未被识别或传递,导致交互中断。接下来,我们从串流软件版本入手,逐步排查可能原因。


二、Pico 企业串流软件版本对比

Pico 官方目前提供两类企业串流版本,分别为:

  • 企业串流 V1.0 系列(最新版本:v1.2.9.0)
  • 企业串流 V2.0 系列

两种版本具有不同的使用方式与支持特性,在实际部署时也需根据项目特点进行合理选择。

2.1 企业串流 V1.0

企业串流 V1.0 是较早发布的一类串流工具,稳定性强,兼容性良好,支持手势数据传输(需手动开启),并可与大多数基于 OpenXR 的系统兼容。

文档地址:Pico Business Streaming V1

该版本的关键特点如下:

  • 支持将 PC 端 SteamVR 内容串流至 Pico 头戴设备
  • 手势识别功能需要在设置中手动开启
  • 推荐版本:v1.2.9.0

版本更新日志部分截图:

V1更新日志1
V1更新日志2

2.2 企业串流 V2.0

企业串流 V2.0 是官方更新后的新架构串流方案,默认开启对手势支持,但在实际使用中,部分功能可能存在兼容性问题,尤其在 Unity 开发环境中串流时,容易发生插件冲突或识别异常。

文档地址:Pico Business Streaming V2

其核心特性包括:

  • 更好地适配 Steam 平台及 OpenXR 内容
  • 默认支持手势识别(无需手动设置)
  • 支持将 Windows 桌面内容串流至头显并进行交互操作

但需要注意,V2.0 的某些特性在高依赖 OpenXR 手势输入的场景下,识别稳定性不如 V1.0。


三、问题排查与解决过程

在明确手势功能异常后,我们对串流软件版本与设置进行了全面排查,以下为两个版本下的解决方案:

3.1 使用 V1.0 的解决步骤

  1. 打开 Pico 企业串流 PC 软件(v1.2.9.0)
  2. 进入 设置 → 通用
  3. 找到并勾选 “串流时支持手势” 选项
  4. 重启 SteamVR,重新连接头显

如下图所示,必须手动启用该选项

开启支持手势功能

完成设置后,SteamVR 内即可重新识别到手势输入,控制器界面恢复正常,MRTK3 内手势交互逻辑也同步恢复。

3.2 使用 V2.0 的情况

根据官方文档说明,V2.0 默认支持手势输入,理论上无需手动设置。

若是有问题以下问题,请检查设置

  • SteamVR 仍无法稳定识别手势图标
  • 手势输入偶尔延迟或直接失效
  • 在 Unity 中调试时,XR Hands 模块接收不到 HandJoint 数据

V2.0 的软件设置界面如下:

V2.0界面预览

官方也提供了降级方式:

就是重新下载配套的串流APK和串流软件

若 V2.0 无法满足使用需求,可通过命令卸载并回退至 V1.0:

adb uninstall com.picoxr.bstreamassistant

然后重新安装 V1.0 的 APK 与 PC 串流工具。

因此,如项目对手势识别要求较高,建议仍优先使用 V1.2.9.0 版本串流


四、MRTK3 与 OpenXR 手势的兼容性要点

MRTK3 框架依赖 Unity XR 插件架构进行手势数据读取。若串流过程中无法传入 OpenXR 的 XR_HAND_TRACKING_EXT 数据扩展,将导致手势组件初始化失败。

建议检查以下几个方面配置:

  1. Unity 插件设置

    • 勾选 OpenXR 插件 → Features → Hand Tracking
    • 配置手势输入源为 “Both Hands”
  2. MRTK3 配置

    • 检查 XR Hands 数据源是否正确加载
    • 在 Scene 中添加 MRTK XR Rig 及手势调试器
  3. 调试建议

    • 使用 Unity 的 XR Hands Debugger 查看是否能读取 hand joints
    • 结合 Pico 开发者助手查看设备端是否激活手势识别
    • 使用 OpenXR Toolkit 检查手势数据是否被正确传入 SteamVR

五、经验总结与开发建议

本次问题的核心在于:PC 端串流软件未正确传递或启用手势输入数据,导致 Unity 中基于 OpenXR 的手势组件无法工作。

常见误区

  • 误以为串流默认支持所有数据通道 → 实际需手动开启
  • 未检查 OpenXR 插件与手势 Feature 状态
  • 误用 V2.0 导致功能异常 → 建议在正式部署前充分测试各版本兼容性

六、结语

通过本次问题的排查与实践,我得出结论:

  • MRTK3手势识别能在 Pico4U和Pico4UE 一体机与串流模式下稳定运行
  • 串流软件版本和配置直接影响 Unity 中手势模块的行为
http://www.xdnf.cn/news/6673.html

相关文章:

  • uni-app 中适配 App 平台
  • UML活动图零基础入门:1 分钟掌握核心逻辑(附实战模板)
  • k8s部署grafana
  • Ai Agent革命:不是流程驱动,而是模型为魂
  • Perl语言深度考查:从文本处理到正则表达式的全面掌握
  • 地下停车场调频广播无线覆盖系统:融合精准选频光纤传输均匀覆盖于一体的创新型地下车库广播无线覆盖平台
  • 【数据开发】埋点体系的讲解 - 埋点方式、原理、优缺点
  • C#里使用Prism.Core的例子
  • 技术剖析|线性代数之特征值分解,支撑AI算法的数学原理
  • 掌握 LangChain 文档处理核心:Document Loaders 与 Text Splitters 全解析
  • 我设计的一个安全的 web 系统用户密码管理流程
  • GpuGeek 实操指南:So-VITS-SVC 语音合成与 Stable Diffusion 文生图双模型搭建,融合即梦 AI 的深度实践
  • 以项目的方式学QT开发C++(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
  • 层序遍历(BFS)核心逻辑:从二叉树到复杂题型的一通百通
  • 【电子通识】热敏纸的静态发色性能和动态发色性能测试方法
  • 小结: js 在浏览器执行原理
  • JavaScript数据类型转换
  • [250515] 腾讯推出 AI 编程助手 CodeBuddy,对标 Cursor
  • 本地部署 私有云网盘 Nextcloud 并实现外部访问
  • KiCad 获取立创商城上面的元器件符号、封装和3D模型
  • 登录接口的密码进行RSA加密Java脚本
  • Apollo学习——planning模块(3)之planning_base
  • Linux/Centos7离线安装并配置MySQL 5.7
  • 龙虎榜——20250515
  • ⼀键登录原理是什么?⼀键登录sdk怎么选?
  • web第一次课后作业--运行一个java web项目
  • CodeBuddy编程新范式
  • 通用软件项目技术报告 - 第一章节检测
  • ORACLE 11.2.0.4 数据库磁盘空间爆满导致GAP产生
  • 场景题 如何Java用内存200M的情况下读取1G文件,并统计重复内容?