Render Streaming是Unity官方推出的一套云渲染解决方案,可以实现将我们打包的.exe程序运行于服务器云端,在浏览器、移动端进行显示,该解决方案基于Google开发的WebRTC流技术,以及Unity官方推出的新的输入系统Input System。本文介绍基于Render Streaming最初版本1.1.1的云渲染实现:
首先创建一个HDRP项目,在Package Manager中安装Unity Render Streaming,因为处于预览阶段,所以需要在Advanced中勾选Show preview pakcages才能搜索到,Unity 2020以上的版本将该设置挪到了Project Settings中,如图所示,勾选Enable Preview Packages:
将Render Streaming包中的Samples进行导入,后面会用到其中的脚本:
导入完成后安装通信所需的服务程序webserver,在Edit/Render Streaming/Download web app菜单中进行下载:
准备需要渲染的场景,这里以一个生物实验项目为例,场景进行简单的设置:
新建一个物体,为其添加Render Streaming组件,并将Url Signaling地址设为服务端的IP地址,Streaming Size为渲染的分辨率,注意分辨率越大越需要更大的网络宽带作为支撑:
新建一个相机Render Streaming Camera,为其添加相机控制脚本Simple Camera Controller
为Main Camera添加组件HDRP Render Texture Blitter,并将其Rt Camera设为刚刚创建的
Render Streaming Camera:
设置完成后,运行刚刚下载的webserver服务程序,并运行Unity程序:
通过Edge浏览器访问我们设置的地址,点击播放按钮,最终实现在浏览器浏览:
掌握前端js技能的话,可自行实现服务程序并设置页面样式。