写点什么

虚幻引擎 nDisplay 教程:如何同步 nDisplay 节点与 Switchboard + Helix Core

  • 2024-01-12
    上海
  • 本文字数:3646 字

    阅读完需:约 12 分钟

虚幻引擎nDisplay教程:如何同步nDisplay节点与Switchboard + Helix Core

对于使用大型 LED 屏幕进行拍摄的虚拟制作团队来说,虚幻(Unreal)的 nDisplay 是一个重要的工具。但是,在 nDisplay 中将正确版本的文件发送到每个节点会非常耗时。立即阅读本文,您将了解到如何使用 Perforce Helix Core 版本控制设置虚幻总机(Unreal Switchboard),快速轻松地将您的项目同步到所有 nDisplay 节点。

虚幻引擎中的 nDisplay 是什么?

nDisplay 是虚幻引擎中附带的一个插件,让多个机器(称为节点)根据真实世界的物理尺寸和屏幕位置从不同的角度同时渲染单个项目。


nDisplay 还可以连接运动跟踪器,使所有显示屏根据运动跟踪的对象(如摄像机)改变其视角。


nDisplay 以实时 60 帧/秒以上的速度驱动着大型高清 LED 显示屏,并计算着每个屏幕的所有内部和外部的平截锥体视图(frustum views)。通过根据 LED 显示屏的实际物理尺寸(包括任何曲线、角度和附加显示屏)设置 nDisplay 蓝图,制作团队可以将屏幕的渲染分配到多台计算机上,以达到镜头内视觉特效(VFX)所需的帧率。

虚幻引擎中的虚幻总机是什么?


总机是虚幻引擎附带的另一个工具,nDisplay 中使用的所有渲染节点和控制计算机,都能通过总机进行远程控制、协调和数据同步。每个节点都运行总机监听器(Switchboard Listener),而主控制机器运行主总机应用程序来控制它们。

为什么将 Perforce Helix Core 与虚幻 nDisplay 一起使用?


如果要确保 nDisplay 节点可以协同工作,那么一个重要步骤是确保每个节点拥有完全相同的项目副本,包括任何最近的更改。手动执行该操作是一个耗时且容易出错的过程。好在虚幻总机中内置了与 Perforce 版本控制 Helix Core 的集成。Perforce Helix Core 能够简化同步每一个 nDisplay 节点的过程,可以同时更新它们,甚至可以回滚到项目的先前版本,包括自定义的虚幻引擎构建,如果您需要。

使用 Perforce Helix Core 设置虚幻总机的分步指南

使用Perforce Helix Core可以大大提高项目同步到所有 nDisplay 节点的效率。请按照以下步骤逐步了解:

  1. 开始之前的准备工作

  2. 如何设置总机+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 是使用游戏引擎团队的首选版本控制系统。它为虚拟制作团队提供了唯一可信数据源,使他们能够在大型项目和游戏引擎构建上更高效地进行协作。此外,Perforce Helix Core还大大提高了将项目同步到所有 nDisplay 节点的效率。

您最多可以让五个用户免费使用 Perforce Helix Core。立即在您的虚拟制片项目中试用它,亲眼见证 Perforce Helix Core 如何提高团队的效率。

文章来源:https://bit.ly/4aNYmKt

用户头像

还未添加个人签名 2021-05-18 加入

分享DevSecOps解决方案最新动态,帮助您学习与使用Atlassian, Perforce, Whitesource, Cloudbees及龙智自研产品,实现软件研发的高度协同与自动化,提高交付效率与质量,并确保开发过程可追溯、可度量。

评论

发布
暂无评论
虚幻引擎nDisplay教程:如何同步nDisplay节点与Switchboard + Helix Core_龙智—DevSecOps解决方案_InfoQ写作社区