1.简介
为了满足高渲染性能场景使用需求,我们提供了将PC端运行的应用推流到头显方案,因为此推流方案是基于网络传输,我们提供了 有线串流,与 无线串流 两种方式,不同硬件的支持情况如下:
RhinoX一代头显只支持无线串流
RhinoX Pro头显同时支持无线串流与有线串流
1.1 什么是串流
串流,其实就是将PC端运行的XR内容,通过 网络 串流到MR头显上,因为XR内容的渲染是在PC端 完成,所以我们通常称其为 边缘渲染 ,头显主要是显示以及定位跟踪作用。
他的技术原理是使用英伟达的CloudXR SDK,将基于OpenVR协议开发的PCVR内容在PC(或者服务器)上渲染完成 之后,编码压缩,再通过网络将编码的数据流传输到MR头显;
头显端的X-Edgelink客户端(集成了CloudXR SDK)再将接收到的数据流解码显示;
同时头显端的跟踪数据也会在客户端编码后回传到PC端,PC端再根据头显端提供的6Dof跟踪数据重新渲染画面, 传到头显,这就是串流的工作流程。
系统架构如下图所示:

图1.1 串流系统架构
X-EgdeLink Client APP: 运行在头显的边缘渲染客户端, 点击下载
NVIDIA CloudXR Server: 运行在PC(服务器)上的CloudXR服务端,它作为插件接入SteamVR平台
OpenVR : 由Steam发起的VR开源标准,Unity引擎和SteamVR Plugin默认支持
OpenVR Runtime: OpenVR兼容应用的运行容器
OpenVR Compatible MR/VR Application:OpenVR兼容应用
X-EgdeLink EXT SDK: 燧光针对PCVR开发的插件,可将头显的多外设跟踪等功能扩展到PCVR
此系统架构只是帮助您更深入理解串流的工作原理,您在使用以及开发过程中不需要直接用到。
如果您希望深入了解此技术,可以访问英伟达 CloudXR 官网进行学习。
1.2 无线串流与有线串流解释
Note
RhinoX一代头显只支持无线串流
RhinoX Pro同时支持有线串流与无线串流
使用前请确认您使用的是RhinoX一代头显还是RhinoX Pro头显
无线串流
无线串流其实就是头显通过无线(wifi)的方式接入网络中,PC端通过无线网络将渲染后的画面推流到头显
有线串流
与无线串流一样,有线串流也是通过网络进行数据传输,虽然头显是通过USB数据线连接渲染PC,但是头显上的 USB网络共享 功能 会分配一个IP给到PC,从而实现网络连接,原理以及IP配置方法与无线串流一致。
1.3 为什么要使用串流
1.提升渲染性能
串流技术的出现,主要是为了解决MR头显(一体机)算力不足的问题。
作为一体机,MR头显的算力跟PC是无法比拟的,我们的MR头显最多只能渲染80w面以内的场景,而边缘PC或者服务器 可以搭配高性能的独立显卡,可以轻松渲染几百万甚至上千万面的场景。
如果您的项目对渲染有比较高的要求,可以使用此方案。
2.PCVR项目移植方便
同时,CloudXR的串流技术,目前是通过SteamVR平台来与MR头显建立连接的,因此原来基于SteamVR开发的PC端应用 可以直接串流到MR头显上显示,
但是交互上可能会有差异。因为我们的手柄设备直接映射了HTC Vive设备,如果您的项目之前是基于HTC Vive开发的, 那么基本不需要做任何改动就可以使用,移植非常方便。
3.支持云端渲染
如果您的项目需要用到云服务器(公有云/私有云),那么这种方案将非常适合于您的应用场景,
目前我们基本上已经与国内各大云厂商完成了适配,如阿里云、腾讯云、华为云,移动云、天翼云、瑞云等等。
注:燧光串流系统,与英伟达(Nvidia)深度合作,是国内自主独立适配Nvidia CloudXR 实现边缘渲染的MR厂商,Rhino X是继微软HoloLens之后,第二个支持Nvidia CloudXR的MR头显。
1.4 阅读指南
如果您之前是HTC Vive的开发者,那么您可以直接将现有的PCVR项目应用到MR头显上,只需要按照下面章节的要求 搭建运行环境即可。如果您需要开发新项目,只需要参照之前HTC Vive的开发流程,手柄按键的映射关系参考第2章。
如果您之前是Pico、Quest(Meta)或者其他 VR一体机 的开发者,这里建议您直接使用我们的 UnitySDK 开发, 这些应用无法通过串流直接使用。
如果您之前没有接触过VR相关应用的开发,那么我们也建议您直接学习我们的 UnitySDK 。如果您确实需要使用串流 的方案,那么您需要掌握SteamVR应用的开发基础,这个与我们的SDK没有关联,我们在第5章提供了入门指引,您可以 参考学习,预祝您开发顺利!