Oculus分享:如何为游戏集成、实现MRC混合现实视频捕获

查看引用/信息源请点击:映维网

混合现实捕获

映维网 2019年12月16日Oculus软件工程团队的一个主要任务是探索利用Unity和UE4等游戏引擎,从而帮助实现最佳的开发者体验,以及帮助合作伙伴优化其游戏引擎工作流程。日前,Oculus软件工程师Xiang Wei和Kevin Xiao撰文进一步介绍了Oculus Mixed Reality Capture Tools,以及令这项重要功能成为现实的集成。下面是映维网的具体整理:

作为VR开发者,我们经常发现,如果不是亲自穿戴头显,你难以向人们表达虚拟现实体验的魅力。Mixed Reality Capture(MRC;混合现实捕获)能够将用户的真实世界图像与虚拟世界合成在一起,这样其他人就可以轻松理解所述用户在VR中的行为。另外,无论是通过震撼的预告片来推广游戏,还是在展会期间向路过的人员展示体验的预览,这为共享VR体验开辟了新的可能性。通过为用户提供与家人,朋友以及世界各地分享新体验的能力,它同时将扩大游戏和应用的触及范围。

1. 你需要的硬件和软件

这是我们在混合现实捕获中需要的装备清单。因为你应该都十分清楚Quest头显,所以我将不做过多解释。

  1. 个人PC:我们需要一台Windows 10 PC来运行Open Broadcaster Software(OBS)并连接摄像头。它不一定是超高性能的PC,一台游戏本通常已经足够。
  2. 无线路由:这十分重要,因为我们是通过WiFi将Quest接入PC,所以连接质量至关重要。我建议为使用高质量的无线路由器。
  3. 绿幕+照明:我们需要绿幕来进行背景移除。如果捕获环境缺的照明条件不佳,准备一定的摄影灯以增加亮度并消除阴影将很有帮助。
  4. 摄像头:任何高质量的USB或HDMI摄像头都可以完成这项工作。建议你购买能以60fps输出1080p的摄像头。
  5. MRC软件:请通过Oculus官网下载Oculus Mixed Reality Capture Tools

2. 如何集成至你常用的游戏引擎

如果你熟悉使用我们的Unity和UE4集成,你几乎可以完全跳过这里。自1.38版本以来,所有功能都包含在我们的集成包中。建议你将应用升级到最新版本,因为它包含重要功能和错误修复。你可以下载我们的最新集成版本:Unity集成UE4集成

2.1 MRC with Unity

对于Unity,MRC包含在Oculus Integration软件包中。当Mixed Reality Capture for Quest设置为自动时(默认情况下),你可通过OVRManager和其他Oculus类进行启用。Unity Integration采用camera配置文件中的camera配置,然后添加与所述配置匹配的额外in-game camera来捕获MRC视图。camera同时受集成控制以跟随OVRCameraRig。

如果你的Unity项目不是使用OVRCameraRig和/或OVRManager脚本,你需要对应用程序进行小幅的更改,但你可以在其余的游戏中继续使用自己的脚本和组件。只需将MRC with Unity文档页面中的代码片段添加到系统组件的Awake事件中即可。

当OVRManager销毁时,旧版Unity Integration将停止MRC。所以,如果应用程序在每个关卡构建和销毁OVRManager,则MRC会话将不会在各个关卡之间维持。我们自1.41以来已经解决了问题,即使OVRManager销毁后依然能够实现持久MRC会话。如果你遇到这个问题,请升级到我们的最新集成。

2.2 MRC with UE4

对于UE4,MRC包含在引擎中的OculusVR插件里面。它已通过OculusVR插件启用,所以,如果你使用了兼容的插件,MRC应该能够开箱即用。插件的MRC部分会自动读取camera配置并处理网络连接。连接后,它将自动添加一个SceneCapture2D来渲染MRC视图。默认情况下,它将跟随游戏中第一个VR player pawn。SceneCapture的位置和配置由插件根据OVRPlugin的camera配置控制。

你可能并不总是以相同的方式设置玩家角色。在某些情况下,自动选择的跟踪参考(第一个player pawn)可能不是正确的组件。根据玩家的设置,这可能会偏离实际的跟踪原点。对于这种情况,我们提供了“Set Tracking Reference Component”函数,它能够根据你的设置将MRC跟踪参考设置为正确的组件。

更多信息请参阅MRC with UE4文档

2.3 注意事项

尽管我们确实尝试尽可能地简化实现,但在为Mixed Reality Capture构建应用时,你应牢记下面的注意事项。

  1. 环境预备:确保你地环境与第三人称camera视图兼容。在玩家周围留下一点空白,从而避免遮挡MRC camera,或使其仅对VR camera可见。另外,camera有时会显示玩家背后的内容。所以即便玩家通常不会朝背后看去,但请确保可以高质量地渲染玩家背后的环境。
  2. 视觉效果考量:呈现视觉效果时,请确保你的应用程序足够灵活。正如你在我们的优化中所看到那样,眼睛捕获camera和MRC camera之间存在许多差异。请将视觉效果设计成兼容不同的分辨率和纵横比。仅VR camera看到任何干扰的HUD,UI组件或人体模型,以免与camera捕获发成冲突。
  3. 隐藏不必要的游戏对象和组件(Unity):激活MRC后,它将通过克隆主camera来构建新的第三人称MRC camera,并继承附加的所有组件和子对象。尽管大多数情况下这都是预期的行为,但如果将某些组件和对象附加到MRC camera后无法正常工作,这可能会引起问题。有几种可以从MRC camera中隐藏不必要的组件和对象,但在VR中保持可见的方法。更多信息请参阅MRC with Unity文档页面。
  4. 寻找正确的跟踪原点(UE4):即使我们已尽力根据游戏的运动设置来自动选择正确的跟踪原点,但这个默认跟踪原点依然由可能错误。如果你在Unity中更改了camera rig,或者在UE4中使用了其他玩家组件设置,则MRC camera的默认跟踪原点可能会错误,从而导致游戏捕获camera和真实世界camera未对齐。如果默认设置不适合,请寻找正确的跟踪原点。
  5. 通过Rift S和游戏编辑器调试MRC:Rift和Quest的MRC主要组件和camera校准流程相同。当为Quest应用程序启用MRC时,你同时可以选择在Rift启用。与用Quest测试应用程序相比,在Rift S通过游戏编辑器的“VR预览”功能调试MRC通常要容易得多。更多信息请访问Oculus Rift: Mixed Reality Capture页面。

3. 捕获流程综述

下面显示了完整的捕获工作流程。camera校准工具在左侧,它从Quest接收校准的追踪空间信息。右边是Open Broadcaster Software(OBS)。大多数流媒体都使用OBS,因为它是用于捕获,合成和记录的多合一解决方案。MRC插件在OBS内部运行,它与Quest通信以控制捕获,并获得用于最终构图的游戏帧。

4. Camera校准综述

camera校准的目的是确定虚拟camera的所有必要参数,从而使其与物理摄像头完美匹配。校准工具在PC运行,后者与摄像头对接。在camera校准期间,所述工具将接入Quest以获得其追踪空间。然后,它将在物理空间和Quest追踪空间之间匹配Touch控制器的姿态,从而计算camera配置。最后,我们将camera配置回推至Quest,从而令其他应用程序知晓物理摄像头所需的参数。当混合现实捕获开始时,应用程序就可以使用相同的参数来构建虚拟camera。

5. 用OBS进行捕获

校准camera后,我们现在可以启动OBS,并通过为OBS构建的MRC插件将其接入Quest应用。激活MRC后,Quest应用程序将从虚拟camera的角度渲染虚拟世界,并将音频和视频帧发送到我们的OBS插件。

视频帧包含虚拟世界的背景和前景。然后,OBS拍摄真实世界的视频,并将其组合以生成混合现实素材。然后,我们可以录制最终视频并保存,或开始实时投屏。

更多用OBS捕获场景的信息请参阅这个页面,其包含如何设置,以及在合成期间如何合成音频和视频源。

6. 总结

Mixed Reality Capture是你向不断扩大地社区分享VR体验地一个有用工具。上面的分享只是开始,我们未来将介绍更多的相关知识。

原文链接https://yivian.com/news/69962.html
转载须知:转载摘编需注明来源映维网并保留本文链接
英文阅读:点击前往映维网合作伙伴 RoadtoVR 阅读专业英文报道
入行必读:深度分析:VR的过去、现在、未来
入行必读:深度分析:AR的过去、现在、未来与现实

更多阅读推荐......

资讯