对于使用大型LED屏幕进行拍摄的虚拟制作团队来说,虚幻(Unreal)的nDisplay是一个重要的工具。但是,在nDisplay中将正确版本的文件发送到每个节点会非常耗时。立即阅读本文,您将了解到如何使用Perforce Helix Core版本控制设置虚幻总机(Unreal Switchboard),快速轻松地将您的项目同步到所有nDisplay节点。
nDisplay是虚幻引擎中附带的一个插件,让多个机器(称为节点)根据真实世界的物理尺寸和屏幕位置从不同的角度同时渲染单个项目。
nDisplay还可以连接运动跟踪器,使所有显示屏根据运动跟踪的对象(如摄像机)改变其视角。
nDisplay以实时60帧/秒以上的速度驱动着大型高清LED显示屏,并计算着每个屏幕的所有内部和外部的平截锥体视图(frustum views)。通过根据LED显示屏的实际物理尺寸(包括任何曲线、角度和附加显示屏)设置nDisplay蓝图,制作团队可以将屏幕的渲染分配到多台计算机上,以达到镜头内视觉特效(VFX)所需的帧率。
总机是虚幻引擎附带的另一个工具,nDisplay中使用的所有渲染节点和控制计算机,都能通过总机进行远程控制、协调和数据同步。每个节点都运行总机监听器(Switchboard Listener),而主控制机器运行主总机应用程序来控制它们。
如果要确保nDisplay节点可以协同工作,那么一个重要步骤是确保每个节点拥有完全相同的项目副本,包括任何最近的更改。手动执行该操作是一个耗时且容易出错的过程。好在虚幻总机中内置了与Perforce版本控制Helix Core的集成。Perforce Helix Core能够简化同步每一个nDisplay节点的过程,可以同时更新它们,甚至可以回滚到项目的先前版本,包括自定义的虚幻引擎构建,如果您需要。
使用Perforce Helix Core可以大大提高项目同步到所有nDisplay节点的效率。请按照以下步骤逐步了解:
开始之前的准备工作
如何设置总机+Perforce Helix Core
前提条件
虚幻引擎多用户编辑
运行总机和nDisplay要求所有计算机都能够加入虚幻引擎中的多用户会话。这通常需要所有的计算机都在同一个局域网(LAN)中,并可能涉及调整虚幻编辑器中的一些UDP设置。您可以在此查看Epic的相关文档:虚幻引擎中的多用户编辑入门。
在继续操作之前,请确保所有计算机都可以连接到多用户编辑会话!
游戏引擎中的Perforce Helix Core设置
为了将项目同步到运行总机监听器的nDisplay节点,您需要在Perforce Helix Core 中正确地设置项目。请确保您已经正确设置了typemap和p4ignore等内容,并且可以在虚幻引擎中启用源代码控制与Perforce的集成。
此外,请确保每台监听器都至少安装了P4 CLI。如果每台机器也安装了P4V,设置起来会更容易。然后,创建一个工作空间,并将虚幻项目同步到您要设置的每台渲染器和控制器计算机上。
步骤1:启用插件
使用nDisplay最简单的方法是从虚幻引擎中的nDisplay模板项目开始。该项目已经启用了nDisplay和总机插件。
如果nDisplay和总机尚未启用,请务必转到Edit(编辑)> Plugins(插件)并启用它们,然后重启编辑器。
步骤2:启动虚幻总机
在控制集群的计算机上,单击编辑器顶部显示的运行总机按钮。第一次运行时,它会提示您安装依赖项。
同样,在集群中的所有其他计算机上,从虚幻编辑器中单击总机旁的三点菜单并选择 "启动总机监听器"。如果出现提示,请务必允许通过Windows防火墙进行访问。如果这台计算机将始终作为渲染节点工作,那么您可以选中
"Launch Switchboard Listener on Login(登录时启动总机监听器)"复选框。
您也可以通过进入虚幻引擎安装路径并运行.../Engine/Binaries/Win64/SwitchboardListener.exe来单独运行总机监听器。
当监听器通过总机激活时,它将打开一个新的虚幻引擎实例,因此您不需要事先运行它
步骤3:创建新配置
使用总机运行的每个项目都有自己的配置文件,用来存储有关项目路径和运行节点的信息。通常情况下,不同项目之间的节点设置保持不变,但项目路径和工作区名称会发生变化。在这种情况下,您可以打开以前的配置,然后转到配置>将配置另存为...,节省设置新项目的时间。
进入配置>新配置后,您将看到一个对话框:
Config Path(配置路径):这是配置文件的名称。默认情况下,它将保存在Engine/Plugins/VirtualProduction/Switchboard/Source/Switchboard/configs中。
uProject(你的文件):浏览运行总机控制器的计算机上的.uproject文件。
Engine Dir(引擎目录):对于虚幻引擎上的自定义构建,可以将其调整为不同的引擎/目录,但如果您使用的是标准的虚幻引擎安装,则可以将其保留为默认值。
选中Perforce框后,填写以下信息:
P4项目路径:这是包含.uproject文件的文件夹的Perforce Helix Core 仓库路径。例如,//depot_name/stream_name/project_folder
P4引擎路径:如果您使用Unreal GameSync来跟踪自定义虚幻引擎编辑器的构建,您可以在此处指定该仓库的路径。如果没有,则将其留空。
工作区名称:输入主机上与此项目关联的Perforce Helix Core工作区的名称(这与您在虚幻编辑器源代码控制设置中使用的工作区相同。)
步骤4:添加虚幻设备
现在,您可以单击“添加设备”下拉菜单来添加机器,该机器将成为nDisplay集群的一部分。要添加控制器计算机(用于在场景渲染到渲染节点时,实时编辑场景),请从下拉菜单中选择 "虚幻"。在本示例中,将为控制器计算机添加一个虚幻设备。
出现提示时,请为其命名,然后输入本地专用IP地址。您可以通过在命令提示符或powershell窗口中输入ipconfig来查找主以太网或Wi-Fi适配器。
因为这与我们开始配置时使用的是同一台机器,所以不需要再做任何更改。
步骤5:添加nDisplay节点
每个节点都可以作为nDisplay设备添加,用于渲染nDisplay设置的一部分。节点的数量将由您选择的nDisplay配置文件决定。如果您使用的是nDisplay模板项目,其中会包含多种配置。要查看下拉菜单中的列表,请单击右侧的 "填充"。或者,您也可以浏览到特定的配置文件,但必须确保该文件与您项目中的nDisplay蓝图相匹配。对于模板项目,NDC_Basic.ndisplay是默认设置,为了便于测试,其中只包含一个nDisplay节点。
选择配置后,所有nDisplay设备都将自动添加到总机。不过,由于每台机器的IP地址、工作区名称和/或文件路径都可能不同,因此在调整设置之前,这些设备可能无法正常工作。
步骤6:调整设置
单击左上角的齿轮图标,从“设置”菜单中打开设置。
该页面上有很多设置,但都按类别进行了分类,可以单击左侧的标签进行筛选。
首先,确保将总机 > 地址设置为主机的专用IP地址,否则多用户会话将无法运行。
项目设置部分可能可以单独保留,因为我们在创建配置时已经配置了它。
跳转到虚幻设置部分,如果我们的虚幻控制器计算机与运行总机的计算机是同一台,那么也可以不对其进行配置。如果不是,则将地址更新为该机器的IP地址,必要时调整Engine Directory(引擎目录)、Workspace Name(工作区名称)和uProject Path(你的项目路径)。(注意,如果是在另一台机器上,"浏览 "按钮将不起作用,因为它只能查看本地文件系统)。
在nDisplay设置部分,您可能需要做最多的更改。您会看到每个节点都列在它们的深灰色框中。对于每一个节点,请确保将地址更新为该机器的专用IP地址,并更新引擎目录、工作区名称和uProject路径,使之与该机器相符。您会注意到,任何与配置默认值不同的设置都会突出显示,并在右侧显示一个 "恢复默认值 "按钮。
步骤7:连接到计算机
现在,您可以单击所有监听器计算机的“连接”按钮。确保总机监听器已在所有机器上运行。
首次设置时,应一次连接一台,以便检查和诊断任何错误。要诊断错误,请务必检查总机上的日志框,以及您正在连接的计算机上总机监听器的终端输出(在默认情况下可能会最小化)。
需要检查的一些常见问题包括:
不正确的路径或工作区名称中的错别字
专用IP地址不正确
项目尚未同步到渲染节点
注意:如果您收到关于缺少名为VPRoles.ini的文件的警告,则默认情况下可能没有创建该文件。检查显示的文件路径(通常在项目内部的Config/Tags/VPRoles.ini中),并在该位置创建一个空白文本文件。然后通过P4V将其添加到Perforce Helix Core中,提交到仓库,然后同步给所有连接的机器。
连接好所有机器后,可以使用总机界面上的按钮检查它们是否都有最新的Perforce Helix Core更新列表,选中自动加入多用户会话按钮,然后点击按钮在所有机器上同时启动项目。
连接所有nDisplay节点后,您就可以在所有设备上实时同步查看更改!
Perforce Helix Core是使用游戏引擎团队的首选版本控制系统。它为虚拟制作团队提供了唯一可信数据源,使他们能够在大型项目和游戏引擎构建上更高效地进行协作。此外,Perforce Helix Core还大大提高了将项目同步到所有nDisplay节点的效率。
您最多可以让五个用户免费使用Perforce Helix Core。立即在您的虚拟制片项目中试用它,亲眼见证Perforce Helix Core如何提高团队的效率。
文章来源:https://bit.ly/4aNYmKt