我们已注意到 Google 披露的 WebRTC 版本中存在的漏洞(更多信息请参见此处),并正在调查它对 EOS SDK 的影响以及接下来应采取的措施。
下面的功能是令人激动的新工具,已在像素流送中实现。虽然这些功能供了新的可能性,但要注意,功能不稳定,应谨慎使用。 不建议基于这些功能构建你的产品的关键组件,因为这些功能在后续版本的虚幻引擎中可能会更改或删除。
VCam
VCam是一个新功能,允许你将VCam组件附加到场景中的Actor,并将关卡视口的视频内容流送到输出提供程序。
在此阶段,VCam主要用于虚拟制片用例。它可以与Live Link VCam iOS应用程序配对,并用于ARKit追踪。这很适合在虚幻引擎中导航虚拟摄像机,由像素流送处理触摸事件,并将关卡视口作为实时视频内容流送回iOS设备。如需详细了解Live Link VCam,请前往下面的站点:iOS Live Link VCam
如何使用VCam
-
确保你启用了虚拟摄像机插件
-
添加位于"虚拟制片"下的VCam Actor。
-
添加Actor后,你会看到如下所示的VCam视图:
-
添加Actor后,它将开始流送。你可以通过像素流送工具栏开始和停止流送。
-
开始后,打开本地浏览器并转至127.0.0.1以查看流送的显示内容,或打开Live Link iOS应用程序并浏览到你的计算机的IP地址,然后点击"连接"。
如果你想通过浏览器与流交互,请在浏览器中打开控制面板,并将"控制方案(Control Scheme)"更改为"悬停(Hovering)"。
使用麦克风
利用像素流送,你现在可以允许通过Web浏览器使用WebRTC音频在引擎中播放特定对等端/播放器麦克风。
设置"在项目中使用麦克风"
使你的项目麦克风兼容极其简单,仅需要向你的项目添加一项内容。
-
启用像素流送插件。
-
在场景中的Actor上,添加
PixelStreamingAudio
组件。你可以将其设置保留为默认值。
每个音频组件会将其自身与特定像素流送播放器/对等端关联(使用像素流送播放器ID)
在流中使用麦克风
-
使用
PixelStreamingAudio
组件设置你的项目之后,按照像素流送的正常情况(使用像素流送启动参数打包或独立)运行你的应用程序,并启动你的信令服务器。 -
通过Web浏览器连接到你的信令服务器。
-
打开前端设置面板并将
Use Mic
设置为true
。点击底部的 重启(Restart) 以重新连接。 -
你的浏览器可能会请求使用麦克风的权限,请务必允许访问。
-
向麦克风说话,你应该会听到你的声音通过流播放!
虚拟现实中的像素流送
虚拟现实(VR)像素流送是一种新功能,向用户提供了使用像素流送连接到兼容VR的应用程序的途径。这样用户可以使用自己的头戴设备享受VR体验,而不用运行本地应用程序。
设置项目
就本示例而言,我们将使用虚拟现实模板项目。
-
使用虚拟现实模板创建新项目。
-
启用像素流送插件并禁用OpenXR插件。重启编辑器。
-
在内容浏览器(Content Browser)中,搜索"Asset_Guideline"并删除"B_AssetGuideline_VRTemplate"。系统提示时,点击 强制删除(Force Delete) 。
-
现在,在内容浏览器中搜索"VRPawn"。双击打开VRPawn,然后编译蓝图。如果正常工作,它应该会成功编译。保存并关闭此蓝图。
-
打开 编辑器偏好设置(Editor Preferences)> 关卡编辑器(Level Editor) > 播放(Play) 并添加
-PixelStreamingURL=ws://127.0.0.1:8888 -PixelStreamingEnableHMD
创建必需证书
你需要HTTPS证书才能将VR用于像素流送。这是因为,WebXR的标准要求该API仅可用于通过安全连接(HTTPS)加载的站点。对于制片用途,你将需要使用安全的来源,以支持WebXR。你可以在此处找到有关这些要求的额外信息:https://developer.oculus.com/documentation/web/port-vr-xr/#https-is-required。
就本示例而言,我们将通过Gitbash设置基本证书。如果你之前没有安装Gitbash,请前往此处的页面,了解Gitbash的安装步骤:https://www.atlassian.com/git/tutorials/git-bash。
-
在
SignallingWebServer
目录中创建certificates
文件夹,如下所示: -
在
certificates
目录中右键点击,然后打开Gitbash。输入openssl req -x509 -newkey rsa:4096 -keyout client-key.pem -out client-cert.pem -sha256 -nodes
。 -
按Enter键多次,直到命令完成。当certificates文件夹中创建了2个
.pem
文件时,命令即完成。 -
打开位于
SignallingWebServer
文件夹中的config.json
文件,将UseHTTPS
值设置为true
。
你现在应该可以开始运行并测试你的VR应用程序!
上面创建的证书仅用于测试用途。如需完整云部署,你将需要整理恰当的证书。
加入VR流
就本示例而言,我们将使用Meta Quest 2。
-
启动位于
\SignallingWebServer\platform_scripts\cmd
中的Start_Signalling.ps1
脚本 -
返回编辑器,独立运行应用程序。因为你在之前步骤中添加了启动参数,所以它应该在完全启动之后连接到信令服务器。
-
现在使用你的VR头戴设备,打开Web浏览器并输入你的计算机的IP地址。你将看到"连接不安全(Connection not secure)"页面,打开"高级(Advanced)"选项卡并点击"继续到IP(Proceed to IP)"
-
你应该会在浏览器窗口中看到应用程序流送到两个视图。点击左侧的XR按钮以切换到VR。
-
大功告成!现在你应该位于你的像素流送的VR项目中!