我们可以通过Unity开源的WebRTC库和简单即用的框架,在开发应用的过程中使用Unity快速发展的图形功能。该框架可以通过浏览器展示项目,摆脱设备性能的约束。

现在,我们可以使用WebRTC的功能在浏览器上运行高质量渲染的Unity项目。该框架可以在运行时或编辑器中使用,从而满足不同项目需求。例如:运行使用高清晰渲染管线HDRP制作的车型配置工具,或查看建筑的模型。

使用WebRTC连接起浏览器和实时渲染

WebRTC是Google于2011年开发的一款开源软件,能够让用户在浏览器和移动平台上实现实时P2P通信。

不论使用的是什么设备,安装的是哪款浏览器,只要支持WebRTC,就可以使用Unity开源的框架来实现渲染流传输。iPad,iPhone和Android系统上的所有主流浏览器都支持这项功能。

因为我们的应用基于Apache 2.0许可,所以WebRTC可以搭配Unity使用。我们可以在Github上搜索到WebRTC,WebRTC库也在Unity资源包管理器中提供预览版,方便将其添加到项目中。

96e140de3d0e94386d0bfe6b401640ce.png

WebRTC结合Unity的即用框架实现渲染流传输

除了Unity的WebRTC库,我们还在其之上开发了一个渲染流传输框架,使用它可以在浏览器上运行Unity的应用。

在项目中添加了Render Streaming资源包后,我们就可以同时在桌面端和移动端上,使用Google Chrome和Safari等常用浏览器,实时控制项目。

现在,Unity资源包管理器可以下载添加Render Streaming资源包到项目中,资源包的源码请访问:

https://github.com/Unity-Technologies/UnityRenderStreaming

3ae2f0facf94bffae4353608383de59e.png

在浏览器上输入命令

Render Streaming资源包会即时将输入命令从浏览器传到Unity应用中,包括:键盘输入、鼠标和触摸板输入,以及网页的按钮事件。

用户只需要像普通Unity项目一样设置输入的处理过程,而后该框架会使用WebRTC的DataChannel API将输入命令传入到新的输入系统中。这样,用户在浏览器中的输入结果会与直接使用Unity的开发体验别无二致。

5349e4252a27f23eee19baf2513898b0.png

在多个设备上同时播放

使用Render Streaming资源包,我们就可以在多个设备上同时进行项目画面的播放。可同时播放的最大设备数取决于播放源机器的配置和画面的质量,一台常见的机器通常能够同时播放到四个设备上。

在使用Render Streaming资源包时,另一个重要的因素是网络环境。由于WebRTC处理视频流媒体,所以只有稳定的网络环境才能确保画面的质量。

每增加一个设备都将增加播放机器的负担。虽然我们可以使用Render Streaming资源包创建内联网系统,但是如果要在互联网上设置广播服务,将会需要更加复杂的系统。

通常,如果想播放到10台以上的设备上,我们建议在系统结构中使用SFU分散式服务器,并为WebRTC使用SRUN/TURN服务器。

影像硬件编码

如果想提供高质量的图形和稳定的直播帧率,实现满意的用户体验,我们需要解决两个问题:性能和延迟。

为了减少延迟,Render Streaming框架在将应用广播到浏览器中时,使用NVIDIA Video Codec SDK在帧缓存上执行GPU硬件编码。

这意味着,使用该框架必须要有配备NVIDIA GPU的电脑。之后的版本会面向其它GPU提供支持。

支持与下载事项

WebRTC库基于Apache 2.0许可证,并通过社区方式提供技术支持。我们鼓励任何感兴趣的人参与到该技术的开发中来。

使用帮助,请阅读教程文档:

https://github.com/Unity-Technologies/UnityRenderStreaming/blob/release/1.0.0/Packages/com.unity.template.renderstreaming/Documentation~/index.md

小结

使用Unity新的WebRTC框架在浏览器中实现项目图形实时互动介绍到这里,我们期待你使用WebRTC和Unity的强大功能制作出令人惊叹的项目。

下载Unity Connect APP,请点击此处。 观看部分Unity官方视频,请关注B站帐户:Unity官方。

你可以访问Unity答疑专区留下你的问题,Unity社区和官方团队帮你解答:

Connect.unity.com/g/discussion

推荐阅读

deltaDNA将加入Unity,带来与玩家沟通的一流工具

高级动画绑定功能:角色与物品的交互

使用Unity Accelerator加快团队协作开发

VTuber情景喜剧《四月一日三姐妹》登陆东京电视台

Unity制作战神等级的表情动画(动画,VTuber适用)

支持HDRP的4款精品资源插件

使用Unity制作起雾的窗户效果着色器

2601cacb4688fe767fa7e2e5e3ada7b5.png

喜欢本文,请点“在看”

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐