.. _1 简介: 1.简介 =============================== 为了满足高渲染性能场景使用需求,我们提供了将PC端运行的应用推流到头显方案,因为此推流方案是基于网络传输,我们提供了 **有线串流**,与 **无线串流** 两种方式,不同硬件的支持情况如下: 1. **RhinoX一代头显只支持无线串流** 2. **RhinoX Pro头显同时支持无线串流与有线串流** 1.1 什么是串流 ---------------------------- 串流,其实就是将PC端运行的XR内容,通过 **网络** 串流到MR头显上,因为XR内容的渲染是在PC端 完成,所以我们通常称其为 **边缘渲染** ,头显主要是显示以及定位跟踪作用。 他的技术原理是使用英伟达的CloudXR SDK,将基于OpenVR协议开发的PCVR内容在PC(或者服务器)上渲染完成 之后,编码压缩,再通过网络将编码的数据流传输到MR头显; 头显端的X-Edgelink客户端(集成了CloudXR SDK)再将接收到的数据流解码显示; 同时头显端的跟踪数据也会在客户端编码后回传到PC端,PC端再根据头显端提供的6Dof跟踪数据重新渲染画面, 传到头显,这就是串流的工作流程。 系统架构如下图所示: .. image:: _static/cloudxr_arch.png 图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`_ 官网进行学习。 .. _CloudXR: https://docs.nvidia.com/cloudxr-sdk/index.html 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章提供了入门指引,您可以 参考学习,预祝您开发顺利! .. _UnitySDK: http://developer.ximmerse.com/sdkconf/unitysdk/index.html