在第一章的三篇文章中,我们将介绍有关拍摄专业级内容的所以基础知识,例如所需的硬件和软件、形体和面部表演捕捉解决方案、时间码、重定向和虚拟摄像机。这些核心基础知识应该远在有人在现场喊“开拍!”之前就熟练掌握。只有此时将基础夯实,你才会拥有出色的拍摄水平。我们的目标是告诉你到底该如何从头到尾设置你自己的虚拟制片工作室。这里不会只做一些粗略的展示和讲述,而是会对一些方面进行相当详细的技术讲解。不过别担心,这正是精彩的部分!我们会凝视空白的画布,想象最终完工时的情形。现在就开始吧! 正如标题所述,我们的使命是告诉你如何大规模实现此操作。信息量很大,既有广度,也有深度。这可能会令人望而生畏。但别急着一头扎进去,先想想要是你只打算浅尝辄止呢?要是你只打算针对你从商城下载的某个动画玩玩虚拟摄像机呢?或者作为MetaHuman出席你的下一次Zoom通话?在此小节中,我们首先将概述你自学所需掌握的基础入门知识,然后再介绍技术性很强的内容。别急着一头扎进去,最好先为整个过程定下基调。第1章与第2、第3章联系很紧密,它们一起详细介绍了虚拟制片工作流程的基础组成部分。正如标题页所述,我们的使命是告诉你如何大规模实现此操作。信息量很大,既有广度,也有深度。这可能会令人望而生畏。要是你只打算浅尝辄止呢?要是你只打算针对你从商城下载的某个动画玩玩虚拟摄像机呢?或者作为MetaHuman出席你的下一次Zoom通话? 在此小节中,我们首先将概述你自学所需掌握的基础入门知识,然后再介绍技术性很强的内容。如果你有一台计算机和一部iOS设备,就能立即行动!而且这其实也没那么困难。实际上,如果你想开始随意涉猎这些概念,则需要知道三件事。如何连接VCam
如何进行镜头试拍录制
如何将Live Link Face连接到
Metahuman
https://docs.unrealengine.com/5.2/zh-CN/using-virtual-cameras-in-unreal-engine/。前往App Store,并从App Store将Live Link VCAM应用下载到启用ARKit的iOS设备,然后启动该应用。在虚幻引擎中,你需要启用VirtualCamera、镜头试拍录制器和Live Link插件。然后重启引擎。将虚拟摄像机Actor添加到你的关卡,并在细节面板中将其启用。然后回到你的iOS设备中的VCAM应用,输入你的计算机的IP地址并点击“连接”。请阅读此文档的前两个小节:
(https://docs.unrealengine.com/5.2/zh-CN/take-recorder-in-unreal-engine/)1. 在虚幻引擎中,启用镜头试拍录制器和Live Link插件,然后重启引擎。2. 在窗口(Window)> 过场动画(Cinematics)> 镜头试拍录制器(Take Recorder)下,打开镜头试拍录制器3. 将Actor从大纲视图拖入“源(Sources)”分段中。4. 点击“镜头试拍录制器(Take Recorder)”窗口右上角的红色大按钮。将Live Link Face连接到Metahuman
(https://dev.epicgames.com/community/learning/tutorials/lEYe/unreal-engine-virtual-production-fundamentals-facial-capture-with-live-link)。额外内容!作为MetaHuman出席你的下一次Zoom或Discord会话1. 接着下载OBS (https://obsproject.com/)(如果还没有下载)。2. 然后,你可以创建虚拟摄像机(不同于UE中的VCam),然后模拟至Zoom 或Discord。具体采用哪种硬件,这取决于你或团队想实现的操作。在本指南中,我们介绍了各种各样的解决方案,从非常简单的动态分镜,到更复杂的预可视化、技术可视化甚至是特技可视化,应有尽有。这些基础知识还可以用来推测更高端的系统需要什么。下面是我们在本指南中使用的硬件布局。我们列出了其他替代硬件,以及一开始就要使用特定设备的理由。你至少需要一个中高端工作站,显卡最低配置为RTX 6000。如果你打算使用头戴式显示器来执行虚拟堪景,则需要更高端的系统。这是因为虚幻引擎场景需要以90帧/秒或更高的帧率渲染,才能使视图看起来流畅,减少对用户造成不良影响的可能性。如果VR中采用更低的帧率,就会感觉很混乱,使用户产生晕动症。工作站的等级与要处理的内容相关。如果高度细化、多边形数量很多并启用了光线追踪,就需要比采用简单光照场景的小型CG环境高端得多的工作站。如果你要处理MetaHuman角色,也需要更高级别的工作站。- Intel Core I7 12或13系列或AMD Ryzen 7
如果要将形体捕捉与包括VCam、面部捕捉等的其他输入源整合到一起,推荐使用两个或更多工作站。工作站数量还取决于所涉及的团队规模。我们用于本文的场景是一个包含三个工作站的系统。两个虚幻编辑器主工作站,第三个系统可以是另一个虚幻引擎工具混合系统,这也可以用于运行某种类型的表演捕捉系统。根据捕捉系统的类型和所需资源,它应该不同于用于虚幻引擎的系统。来自捕捉系统的数据会通过Live Link在网络上流送到其他虚幻引擎工作站。在考虑使用不同的工作站配置时,请务必注意虚幻引擎中多用户(MU)的使用。使用MU时,不同工作站上的美术师可以在相同的同步项目和关卡中工作。这样多个美术师可以实时协作,提高效率。此时应该明确分工,确定各个系统负责的工序。在我们使用的场景中,有一个虚幻引擎美术师操作虚拟摄像机并触发VCam的录制。推荐在一个MU会话中只有一个工作站在录制,在涉及VCam时,它还应该是在虚幻引擎中负责录制的系统。此系统成为了通用录制工作站。它还可以用于录制形体和面部捕捉,以及来自Midi、Xbox手柄等其他控制器的输入。另一个系统用于修改环境,更改光照,以及镜头试拍设置和录制之外的其他操作职责。知道工作站负责的工序,有助于更好地配置硬件。在用于录制被流送到会话的设备时,MU环境中的系统应该整合时间码和时码器硬件。在多用户环境中使用多个工作站时,Switchboard很有用。Switchboard可以设置为同步不同计算机上的项目,还可以用于在虚幻引擎中推送场记板,并触发镜头试拍录制器的录制,以及其他硬件。可以用于执行此操作的一些设备有:用于录制视频的AJA Ki pro、Motive光学捕捉系统,以及用于面部捕捉的iPhone。 使用Switchboard在计算机和硬件之间通信时,需要计算机位于相同的共享网络上。网络可以很简单,使用端口充足的路由器来将所需数量的设备互连即可。一般来说,推荐在项目上使用某种形式的源码控制。这样团队成员就可以协作,并在多用户会话中使用同步的项目。如果在尝试启动MU会话时项目不完全相同,用户将无法加入,并且无法实时协作。Perforce和Github是两种经常实现的源码控制系统。无论是源码控制、在MU会话中使用多台机器,还是其他形式的协作,都需要计算机位于相同的共享网络上。https://cdn2.unrealengine.com/Unreal+Engine%2Fperformance-capture-whitepaper%2FLPC_Whitepaper_final-7f4163190d9926a15142eafcca15e8da5f4d0701.pdf根据该文档,市面上有成本各异的动作捕捉系统。就可视化指南而言,我们使用了新的Sony mocopi系统,此产品仅在日本发售,价格是49,500日元(美国价格和发布日期待确认),我们还使用了Xsens系统,价格大约是12,000美元。文档中介绍了价位最低到最高的产品,其中使用惯性系统的产品最便宜。光学捕捉系统通常会达到$12,000以上的价位,由于需要更大的捕捉量,因此会非常昂贵。 昂贵的系统会随附更多功能和更高保真度的解算数据。但是,这些系统常常需要更多硬件和人力资源,而且学习和使用起来还可能很复杂。根据你最终要创建的内容,确定哪种类型的系统比较合适。使用Sony mocopi时,你可能无法获得最终数据来打造3A游戏、故事片等。但是,如果你需要为动态分镜创建动作,并且不想绞尽脑汁支持更复杂的系统,那么Sony mocopi可能是一个值得考虑的解决方案。 面部捕捉可以通过多种方式获取。理想情况下,需要同时捕捉面部表演与形体表演。使用头戴式摄像机时,可以固定单个或多个摄像机,具体取决于所使用的解决方案。通过使用虚幻引擎Live Link Face应用,可以将iPhone用于面部捕捉。时间码对于系统同步很重要。通过使用主时钟并将时间码分发到将在舞台上录制的内容,你可以确保录制的所有元素都可以与其他录制的元素保持一致。这些示例的范围很广,从支持大规模制片环境的Evertz,到可在较小规模设置中使用的便宜得多的设备,例如我们用于本指南的设备。https://horita.com/utg-50http://www.denecke.com/Products/products.html?tpm=1_3https://tentaclesync.com/sync-e要将时间码和时码器提取到软件中,虚幻引擎需要增加可以添加到虚幻引擎工作站的特定显卡。虚幻引擎当前支持并需要启用插件的卡包括:Black Magic Decklink Capture采集卡https://docs.unrealengine.com/5.2/zh-CN/multi-user-editing-in-unreal-engine/https://www.blackmagicdesign.com/products/decklinkhttps://docs.unrealengine.com/5.2/zh-CN/aja-media-reference-for-unreal-engine/https://www.aja.com/family/desktop-ioLive Link旨在提供一个公共接口,将来自外部源(例如,派生的数据缓存工具或动作捕捉服务器)的动画数据流送至虚幻引擎并进行使用。Live Link经过精心设计,可以通过虚幻插件进行扩展,允许第三方开发新特性,并有可能无需更改引擎和维持这些更改。在搭配使用Maya或Motionbuilder等DDC工具时,你可以利用Live Link在外部编辑动画,并在虚幻引擎内部实时查看工作预览。动作捕捉系统也可使用Live Link将数据流送到引擎中,并实时预览该数据。Live Link需要网络支持,这可以包括Hairlines以及Wi-Fi路由器,具体取决于所使用的源。https://docs.unrealengine.com/5.2/zh-CN/live-link-in-unreal-engine/Live Link通过网络接收数据。要实现多用户以及在计算机之间触发虚幻引擎中的镜头试拍录制器,将需要在系统之间架设网络。要触发其他设备,也需要借助网络。 备份/存储以及版本控制的使用会假定有本地存储和/或云存储。计算机与交换机之间的10 gig基础设施将充分利用连接,并最大限度减少同步项目时的等待时间。可以添加Wi-Fi路由器,以支持适用于VCam的iPad等设备,或通过Wi-Fi流送的捕捉系统,如Xsens、Sony mocopi等。在小型设置中,不需要视频辅助,但你可能仍想生成表演镜头试拍的媒体。在传统的动作捕捉舞台上,会有录制演员表演的参照摄像机,还会有虚幻引擎输出的视角摄像机,用于渲染CG表演。如果同时在虚幻引擎中执行VCam,此输出可以是VCam视角。如果你在虚幻引擎工作站中有支持视频输出的显卡,可以将虚幻引擎中的媒体捕捉设置为流送虚幻引擎中所选摄像机的视角。在较小的设置中,使用虚幻引擎媒体捕捉并发送CG输出以在外部设备上录制,这样可能仍比较方便。下方列举了一些制造商,他们用于录制SDI和HDMI内容的监视器和设备不同于我们所使用的那些:https://www.atomos.com/productshttps://www.aja.com/products/ki-pro-gohttps://www.blackmagicdesign.com/products使用iPad的虚幻引擎虚拟摄像机是Apple App Store上的免费应用。它可以用于配备了Lidar的iPad。它还可以配置为将其他设备用作摄像机控制器。https://apps.apple.com/us/app/live-link-vcam/id1547309663https://docs.unrealengine.com/5.2/zh-CN/virtual-cameras-in-unreal-engine/Glassbox Tech推出的DragonFly是需要每年订购的虚拟摄像机软件。它也使用iPad,并可以配置为将其他设备用作摄像机控制器。https://glassboxtech.com/products/dragonfly此小节介绍了一些热门的动作捕捉解决方案,并提供了相关的设置指南。形体动作捕捉是指使用专门的传感器捕捉演员的移动和动作,然后将捕捉到的内容转换为数字数据,用于为虚拟角色或对象制作动画。市面上有许多价位不同但价值斐然的形体动作捕捉解决方案。本文档仅着重介绍一些热门选项,因为光学选项超出了大部分工作室的价格承受范围。最常见的行业标准套件是Movella推出的XSens。还有一个崭新的低成本方案是Sony推出的“mocopi”。 对于所有动作捕捉套件,通用的数据流送基本工作流程如下:1. 打开电源并将所有必需传感器硬件和带子连接起来。2. 将这些传感器连接到对应的供应商软件,以将动作解译为数字形式。5. 使用Live Link协议将该数据流发送到在你的网络上运行虚幻引擎的计算机的IP地址。6. 在虚幻引擎中,使用Live Link窗口“添加Live Link源”用于接收。7.必须为将直接接收动作捕捉数据的每个骨架创建一个“重定向资产蓝图”。这会将传入骨骼数据映射到所选骨架的恰当骨骼。(这对于每个动作捕捉供应商和每个自定义虚幻骨架都不同,此步骤需要自定义的T姿势。)8.将Live Link源和重定向资产分配到你的数字角色的骨架。9.如果你在编辑器级别看不到你的动作,请在细节面板中将“Live Link骨骼动画”添加到你的蓝图。1. 打开电源并将所有必需传感器硬件和带子连接起来。 2. 将这些传感器连接到对应的供应商软件,以将动作解译为数字形式。 4. 导出一个.fbx动画文件,以导入虚幻引擎中。 如果你预算充足,可以选购XSens (https://www.movella.com/products/motion-capture)套件,它可为形体捕捉带来出色的质量。此套件能够提供数据,供你在制片的整个过程中使用。其MVN软件提供了一些额外的后期处理,可清理数据,消除滑步。 1.形体测量
(https://tutorial.movella.com/video/body-measurements/) (https://tutorial.movella.com/video/preparing-hardware-mvn-link/) (https://tutorial.movella.com/video/wps-connection/) a. Asus最佳实践和故障排除技术 - Xsens视频教程 (https://tutorial.movella.com/video/link-router-setup-best-practices/)5.ALT连接到你的家庭WiFi,跳过ASUS路由器 a. 将Link Body包连接到家庭或办公室路由器 - Xsens视频教程 (https://tutorial.movella.com/video/link-router-setup-best-practices/) (https://tutorial.movella.com/video/wps-connection/) (https://tutorial.movella.com/video/calibrating-link/)https://base.xsens.com/s/article/MVN-Unreal-Live-Link-Plugin-UE5?language=en_US适用于虚幻引擎的Live Link - Xsens视频教程(https://tutorial.movella.com/video/live-link-for-unreal/)此链接适合用于查找较旧版本虚幻引擎的插件版本,以及包含官方MVN“puppet”的示例项目:https://base.xsens.com/s/article/Unreal-MVN-Live-Link-Plugin-Overview?language=en_US此处你可以看到示例项目的内容,其中包含带有和不带手指骨骼的出色兼容骨架。如需更新已流送的动作,让动作达到套件可以提供的最高质量,则最好也使用MVN puppet从MVN导入.fbx动画。如果Live Link窗口中看不到动作捕捉数据,请双击你的IP地址和端口号。9764是默认值,但如果MVN中添加了额外的流,新端口可以是9763。 如果你在虚幻引擎场景中看到滑步/抬脚,而MVN中并未发生此情况,这可能是因为骨架的比例不同。 4.重新导入骨骼网格体,用作该演员所有动作的默认Puppet。最近增加了Live Link形体和面部变量(已添加到主蓝图),可以更加轻松地直接将动画放到MetaHuman上。你不必为骨架创建自定义动画蓝图,而可以直接选择对应的Xsens源,并选中“使用Live Link形体(Use Live Link Body)”框。务必注意,需要打开蓝图并设置Live Link形体重定向变量。这是正常映射骨骼的必需操作,但未设置为实例可编辑,因此未公开为编辑器中显示的变量。同样,如果角色看起来没有对传入动作做出回应,增加Live Link骨骼动画组件将强制动画在编辑器中更新。
注意:你的动作捕捉演员的形体比例有可能与MetaHuman不同,因此该方法可能会在官方puppet上引入自定义导入的MVN .fbx中不存在的滑步。可以使用高级重定向来修复此问题,具体详见未来章节。 1.你可能想在引擎中进行镜头试拍录制,以及在MVN中捕捉你的镜头试拍。MVN有一个重新处理步骤,会试图清理你不会从引擎获取的数据。 2.可能需要将动作重新导入回MVN中,以重新处理。 3.从MVN导出的.fbx格式只会包含动画数据,而没有骨骼网格体。因此,请务必将虚幻引擎中的官方MVN puppet骨架作为基础骨架。此puppet可从上方链接的官方示例项目文件中取得。 4.在虚幻引擎5.1中,增加了新的.fbx动画导入选项。请务必选中“对齐到最接近的帧边界(Snap to Closest Frame Boundary)”。这应该会确保采用任何取样率都能成功导入。如果你想快速又轻松地将动作添加到你的角色,Sony的新移动动作捕捉解决方案mocopi是绝佳选择。它成本很低,重量很轻,并且可从手机运行。它还使用Live Link直接流送到虚幻引擎中。 https://www.sony.net/Products/mocopi-dev/en/documents/ReceiverPlugin/UnrealEngine/AboutPlugin.htmlmocopi会流送到mocopi骨架/Actor,并重定向到兼容UE5 Mannequin的角色和MetaHuman。它有自己的动画蓝图,采用Live Link源名称和带有T姿势的预设重定向资产。
要将数据流送到虚幻引擎中,则需要检查Live Link源并将将Mocopi骨架重定向到其他角色的高级IK重定向是可行操作,并且可以像其他骨骼源那样处理。此主题将在未来章节中详细介绍。Mocopi应用会以.bvh文件格式将高质量动作数据存储到移动设备上。要将.bvh文件格式用于虚幻引擎,必须在另一个DCC(如Maya或Motionbuilder)中转换,然后以.fbx格式导出。这些示例适用于此硬件,但每个供应商都有自己的插件和文档。 当数据引入虚幻引擎中并且骨架开始移动后,运动的导入方式对管道剩余部分并无影响。本章说明了如何使用Epic的免费iPhone应用程序Live Link Face将面部动画放入角色。Live Link Face是Epic Games开发的应用,允许使用兼容的iPhone或iPad进行实时面部动作捕捉。由于它使用移动设备,因此价格比传统的面部动作捕捉系统便宜很多。它无线连接到虚幻引擎5,以用于虚拟制片。它可以在iOS商店免费下载。(https://apps.apple.com/us/app/live-link-face/id1495370836)https://docs.unrealengine.com/5.2/zh-CN/recording-face-animation-on-ios-device-in-unreal-engine/顾名思义,该应用使用Live Link协议将面部捕捉数据流送到虚幻引擎中,但需要安装正确的插件才能读取该数据。这些插件是虚幻引擎的标配,不需要从虚幻商城下载。接下来,识别运行虚幻引擎的计算机的IP地址,并将该地址放入连接到相同网络的iPhone。“设置”齿轮图标下的Live Link Face设置 -> Live Link:
Live Link窗口打开并且应用开始运行后,源信号应该与手机的名称一起显示在虚幻引擎中。这应该会自动发生,不需要改动端口号。你可以在“工具(Tools)-> 虚拟制片(Virtual Production)-> Live Link”下打开Live Link流送管理器选项卡来检查情况。在Live Link Face应用中,操作员面部附近应该有线框网格体,以验证它是否已注册,并且可以覆盖Apple AR Kit变形目标值,以查看在追踪哪些运动。在“设置(Settings)”菜单的显示(Display)选项卡中的“混合形状数据(Blendshape Data)”按钮上滑动,即可完成此操作。为了充分利用Live Link Face,需要为接收角色设置好动画蓝图和Control Rig,以便可以接受Apple AR Kit混合形状名称,并将其应用于骨骼网格体。MetaHuman是用于虚拟制片的免费高质量资源。 如需了解详情以及将其导入项目中的过程,请查看官方文档:https://docs.metahuman.unrealengine.com/zh-CN/getting-started-with-metahumans-in-unreal-engine-5默认情况下,所有Metahuman面部都将支持Live Link Face的Apple AR Kit数据。 你还可以将其他角色/骨架修改为使用此Live Link源中的数据,具体详见未来章节。要使MetaHuman正常运行,请首先加载该角色的蓝图,找到名为“Face”的组件,并点击“Face_AnimBP”的“在内容浏览器中浏览到资产(Browse to the Asset in Content Browser)”。在内容浏览器中,动画蓝图应该会高亮显示。 双击此图标打开动画蓝图。在动画蓝图中,找到“事件图表(Event Graph)”,然后查找“Evaluate Live Link Frame”主题节点。 这可以是变量,也可以直接在该节点本身中设置。如果是变量,请将其选中,然后在细节面板中的ARKit Face Subj下选择正确的手机名称。要想录制面部表演,最简单方式是将蓝图添加为镜头试拍录制器的源,并确保选中动画轨道。这会将面部中的所有骨骼烘焙到动画序列中。这些文件将保留表演,但文件会很大,并且未来无法编辑。如果有形体动作捕捉从其他Live Link源发生,则会同时捕捉面部和形体表演。面部数据的常见工作流程是,直接将该数据录制到角色的面部骨骼和变形目标,但是以后修改起来会很困难。另一个选项是,点击“从Live Link(From Live Link)”并将手机源添加到镜头试拍录制器中。 这不会直接将数据烘焙到骨骼,而是会改为录制传入的源数据流。 这会显示面部动画并录制源Live Link数据流。 这些数据的质量不太会受引擎的帧率影响,通常更干净。 播放此关卡序列时,场景中处于活动状态的所有角色上的所有动画蓝图都会看到此数据重新广播,并移动对应的面部。面部数据可以稍后烘焙到动画序列上,方法是在Sequencer中右键点击面部轨道。 如果场景中有多个角色,而且其面部需要使用相同的iPhone制作动画,就需要这样做。 使Live Link源在关卡序列中保持活动状态,就会导致场景中其动画蓝图处于活动状态并分配到该手机源的所有角色面部同时移动。这些是使用Live Link Face设置和录制面部捕捉的基础知识。在后续章节中,我们会介绍在没有同时录制形体的情况下,如何通过现有动作捕捉插入面部动画。
扫描下方二维码,关注后点击菜单栏按钮“更多内容”并选择“联系我们”获得更多虚幻引擎的授权合作方式和技术支持。“虚幻引擎”微信公众账号是Epic Games旗下Unreal Engine的中文官方微信频道,在这里我们与大家一起分享关于虚幻引擎的开发经验与最新活动。