1、简介

Unity渲染流包含构建在Unity Render Streaming之上的公共 API 和项目示例。可以使用Unity Render Streaming包快速开发一个点对点的流媒体解决方案。

该软件包提供的功能包括视频流、音频流和操作控制。

1)视频流

可以通过网络将在Unity上渲染的视频广播到浏览器。例如,它可以在iPad 上的浏览​​器上显示使用HDRP渲染的视频。此外,还支持从多个摄像机进行广播。

2)音频流

支持在Unity上生成流式声音。它可以同时投射到多个浏览器。

3)操作控制

可以从浏览器向Unity发送输入消息,并且支持从多个浏览器发送输入。支持鼠标、键盘、触控板和游戏手柄作为浏览器上的输入设备。有关详细信息,请参阅浏览器输入流程页面。

2、快速搭建

2.1 概述

渲染流系统由下面三个组件组成:

1)Unity(编辑器或应用程序)

2)Web Server(网络服务器)

3)Web Browser(网页浏览器)

 在云渲染中,Unity和Web 浏览器之间创建了一个 P2P 网络,该网络通过 UDP/IP 发送数据。Web 服务器支持 Web 浏览器和 Unity 之间的通信。这种通信称为信令,信令工作说明如下图:

1)Web浏览器将Offer SDP发送到 Web 服务器。

2)Unity检查Web服务器是否有未处理的Offer SDP,并接收任何找到的。

3)Unity将Answer SDP发送到Web服务器。

4)Web浏览器检查Web服务器是否有未处理的Answer SDP并接收任何找到的。

5)Web浏览器将ICE Candidate发送到Web服务器。

6)Unity检查Web服务器是否有未处理的ICE Candidates并接收任何找到的。

7)Unity将ICE Candidate发送到Web服务器。

8)Web浏览器检查Web服务器是否有未处理的ICE Candidate并接收任何找到的。

2.2 搭建步骤

要求(重要、重要、重要,重要事情说三遍):一定要确认当前的包版本是否支持Unity版本。本人使用的是Unity Render Streaming 3.0.1-preview版本,此版本只能支持Unity 2019.4版,其它Unity版本无法使用。

Step1:在Unity编辑器下打开Window/Package Manager包管理器

Step2:检查包管理器窗口,单击Advanced按钮并启用Show preview packages

Step3:在包管理器窗口顶部右侧的搜索框中输入renderstreaming

Step4:单击窗口左下角的Install按钮,将开始安装包。

Step5:如果出现输入系统对话框,请单击Yes

Step6:单击Edit/Render Streaming/Download web app菜单项以从此页面下载应用程序。

Step7:出现选择下载文件夹窗口时,单击Select Folder将文件下载到默认文件夹

Step8下载完成并打开一个新的资源管理器窗口后,单击webserver.exe以启动Unity RenderStreaming Web服务器。

服务器运行成功会弹出如下界面

注意:若未弹出上面界面,有可能80端口被占用,执行以下操作

1)打开命令终端,window+R

2)输入netstat -ano | findstr 80

3)端口被4占用,查询发现4是SYSTEM模块,故在cmd页面再输入 netsh http show servicestate 查看 http 服务状态,发现请求队列如下:

4)执行关闭命令tskill 6184,终止端口运行

5)重新运行webserver.exe

Step9:找到com.unity.renderstreaming包,从PackageManager窗口中的包底部导入Samples

Step10:打开WebBrowserInput场景

Step11:在Unity Editor中进入播放模式 

Step12:打开您的网络浏览器并访问http://localhost. 你可以看到首页。单击一个VideoPlayer Sample链接。

Step13:可以在浏览器上看到Unity场景,并在Unity场景中控制摄像机 

注意:若未出现渲染画面,可能是Web端通讯协议和Unity中通讯协议不一致造成,修改Unity中的设置,统一修改为Http协议,如下图

注意:长时间未显示视频流内容如下图,检查显卡是否支持V8音视频解码协议,Unity使用的Webrtc是采用Google 的V8音视频解码协议,建议使用NVIDIA Getforce系列显卡。

更多推荐