使用Live Link将UE4连接到Motionbuilder

介绍使用Live Link插件将UE4连接到Motionbuilder的过程

Windows
MacOS
Linux

你可以使用Live Link将内容从MotionBuilder实时流送到虚幻引擎,以便在虚幻引擎中预览你的内容,而无需导出和导入。你还可以使用多种设置控制会话的IP地址和投射。

虚幻引擎MotionBuilder Live Link

本文档将概述如何在MotionBuilder和虚幻引擎之间设置Live Link会话,以及可供你使用的设置。

先决条件

MotionBuilder设置

按照以下步骤在MotionBuilder中设置虚幻Live Link,并开始广播Live Link信号。

安装插件

你需要下载并安装MotionBuilder Live Link插件。为此,首先找到 MotionBuilder Live Link 虚幻商城页面,并下载插件。

MotionBuilder Live Link虚幻商城

安装插件后,它将位于虚幻引擎安装目录的Plugins文件夹中。默认情况下,它位于以下路径:

  C:\Program Files\Epic Games\UE_4.27\Engine\Plugins\Marketplace\MobuLiveLink

在该文件夹中,你可以找到 Binaries 文件夹,并查看每个MotionBuilder版本的可用插件。

MotionBuilder插件版本

现在,你需要将插件路径指定至MotionBuilder。在MotionBuilder中,点击主菜单栏中的 设置(Settings)>偏好设置(Preferences),打开 偏好设置(Preferences) 窗口,并找到 SDK 类别。点击 添加(Add) ,并浏览与你的MotionBuilder版本匹配的版本文件夹。之后重新启动MotionBuilder。

安装MotionBuilder插件

重新启动MotionBuilder后,你现在应该会在 资产浏览器(Asset Browser) 选项卡的 设备(Devices) 类别中看到 UE - LiveLink 条目。

UE LiveLink设备

确保你的MotionBuilder场景包含你要使用的角色,然后将 UE - LiveLink 插件拖到视口中。

拖放插件

这将打开 Live Link连接(Live Link Connection) 窗口,你可以在 导航器(Navigator)设备(Devices) 分段下找到该窗口。

MotionBuilder Live Link窗口

点击 主题选择器(Subject Selector)(...) 按钮,展开并选择角色的 根骨骼(Root Bone),然后点击 添加(Add) 。你必须确保选定的根骨骼也与项目中导入的 骨架 的根(最顶层)骨骼相匹配。

添加Live Link主题

这会将你的角色添加为 主题(Subject),以便流送到虚幻引擎。你可以选择启用 流送视口摄像机(Stream Viewport Camera) 。这将使MotionBuilder的摄像机作为Live Link主题流送到虚幻引擎,你可以从中选择它作为驱动编辑器摄像机的源。

流送视口摄像机

你可以选择通过编辑 主题名称(Subject Name) 字段来重命名你的主题。这将有助于在Live Link广播中区分它。

Live Link主题名称

点击 在线(Online) 旁边的按钮,启用内容流送。在线(Online)状态按钮将从 红色(离线(Offline)) 变为 绿色(在线(Online)) 。此时,MotionBuilder在广播Live Link信号。

Live Link在线

当MotionBuilder失焦并成为后台应用程序时,其性能将受到限制,这可能导致流送过程中出现卡顿。为防止这种情况发生,请启用位于导航器(Navigator)的 系统(System) 菜单中的 始终刷新查看器(Always refresh viewer) 选项。

始终刷新查看器

虚幻引擎设置

按照以下步骤将虚幻引擎连接到你的MotionBuilder Live Link广播,以便预览角色上的连接。

设置连接

在后台运行MotionBuilder,打开虚幻引擎,并从主菜单栏中选择 窗口(Window)> Live Link。这将打开 Live Link连接窗口(Live Link Connection Window) ,使你能够连接到正在运行的MotionBuilder实例。

Live Link连接窗口

点击 + 源(+ Source) 按钮,然后从 消息总线源(Message Bus Source) 中选择你的MotionBuilder广播信号。

Live Link

连接(Connection)窗口将更新以显示连接的源类型(Source Type)、主题(Subjects)和状态(Status)。

已连接Live Link

有关Live Link 选项(Options)角色(Roles)状态指示器(Status Indicators) 的更多信息,请参阅 Live Link概述 页面。

你现在可以预览角色上的Live Link连接。从 内容浏览器(Content Browser) 打开你角色的 骨骼网格体(Skeletal Mesh) 资产。

骨骼网格体

预览场景设置(Preview Scene Settings) 选项卡中,设置以下属性:

  • 预览控制器(Preview Controller):Live Link预览控制器(Live Link Preview Controller)

  • 主题名称(Subject Name): 来自MotionBuilder的主题名称

  • 启用相机同步(Enable Camera Sync):已启用(Enabled)

骨骼网格体Live Link预览

你的MotionBuilder主题现在已连接到此窗口,并将流送数据。如果从MotionBuilder启用了 启用摄像机同步(Enable Camera Sync)流送视口摄像机(Stream Viewport Camera) ,MotionBuilder视口也将流送到此视图。

骨骼网格体Live Link预览

你也可以使用 蓝图函数 来建立连接,而不是通过Live Link窗口手动连接。除了使用预览控制器(Preview Controller),你还可以使用附加到Actor的 Live Link组件 或动画蓝图(Animation Blueprint)中的Live Link Pose节点。

MotionBuilder设置

MotionBuilder Live Link插件包含用于控制Live Link投射行为的各种高级设置。要访问这些设置,请点击 Live Link连接(Live Link Connection) 窗口中的 设置(Settings) 选项卡。

Motionbuilder设置

链接到其他机器

默认情况下,只要会话在同一设备上运行,就可以使用Live Link将MotionBuilder连接到虚幻引擎。如果你处于使用多个设备的局域网中,并且你要广播到不同的设备,那么你将需要使用 单播(Unicast)静态端点(Static Endpoints) ,并在上面设置显式本地 IPv4地址

单播端点(Unicast Endpoint) 可以被视为是Live Link桥的一端,而 静态端点(Static Endpoints) 是桥的另一端。它们一起形成激活的Live Link连接。

要设置单播端点,请将你的 IPv4 地址 复制到 单播端点(Unicast Endpoint) 属性中。要获取你的IPv4地址,你可以在 Windows命令提示符(Windows Command Prompt) 窗口中输入"ipconfig"来查看并复制它。你还必须在地址末尾指定 端口号

单播端点

端口 6666 保留,并且不能用于端点。

在虚幻引擎中,在另一台接收PC上,点击 编辑(Edit)>项目设置(Project Settings),打开 项目设置 窗口,并找到 UDP消息(UDP Messaging) 面板。在 传输(Transport) 类别中,展开高级细节,并在 静态端点(Static Endpoints) 属性中,输入来自主机 单播端点(Unicast Endpoint) 的相同地址和端口。

静态端点

在将源添加到Live Link连接(Live Link Connection)窗口时,你现在应该能够接收远程Live Link源。

远程Live Link源

这个过程的逆向过程也同样可行。你可以在 UDP消息项目设置(UDP Messaging Project Setting) 中设置 单播端点(Unicast Endpoint) 并设置 MotionBuilder中的静态端点(Static Endpoint)

静态单播端点

广播卫星

你不需要将单个MotionBuilder Live Link实例同时广播到多个虚幻引擎目地的,你可以设置单个虚幻引擎接收器,将Live Link源重播到其他机器。如果Live Link源距离所有接收器都很远,或者带宽有限,这将很有用。

虚幻重播Live Link信号

要启用此行为,请首先在 Live Link连接窗口(Live Link Connection Window) 中,选择你的Live Link 主题,并启用 重播主题(Rebroadcast Subject)

重播主题

然后,你需要在执行重播的机器上的 UDP消息项目设置(UDP Messaging Project Setting) 中设置 单播端点(Unicast Endpoint)

重播单播端点

现在,当从其他机器中选择Live Link源时,你可以从虚幻引擎实例中选择重播源。

重播Live Link

组播

组播是一种互联网规范,客户端可以通过它参与网络通信。 组播使用 D类 地址表示,这类地址不同于你通常在端点到端点通信中看到的标准类地址空间。 组播地址范围为224.0.0.0到239.255.255.255。

客户端可以订阅组播组,该组会告知路由器、交换机或操作系统它对给定IP上的多播消息感兴趣。 虚幻引擎在端口 6666 处使用组播组 230.0.0.1。 启动时,虚幻引擎将向网络发送信号,表示它想加入230.0.0.1:6666组播组。 然后,凡是使用该指定IP和端口接收到的组播消息,都将指定给该虚幻引擎实例入站套接字,以供引擎处理。

组播地址的目的是通知其他虚幻引擎实例网络上存在别的虚幻引擎实例。这个过程是通过在组播套接字上发送的发现消息来完成的。 发现消息将被其他实例接收,该消息中包含的是可用于直接与虚幻引擎实例通信的特定IP或端口。然后,系统将使用此已知端点(IP和端口)直接通信,并且不会通过组播组进一步通信。 这相当于手动添加静态端点。 组播机制将自动启用此功能。

通常,除非特意配置,否则大多数路由器不会将组播消息传播到局域网(LAN)之外。在大多数情况下,你只能在同一局域网上发现虚幻引擎实例。

Live Link在发生组播通信时通常不知情。 所有这些网络通信都通过消息总线和使用UDP消息发生。通过与消息总线的交互以及在通过消息总线框架发送自己的发现消息时,Live Link可以了解可用端点。 所有已发现的端点都将作为接收者提供给Live Link,并且Live Link会将其发现消息发送给这些接收者。

更改组播范围

如果你要更改组播范围组,则需要在 UDP消息项目设置(UDP Messaging Project Settings)Live Link plugin Engine.ini 文件中进行更改。

你可以在UDP消息项目设置(UDP Messaging Project Setting)中找到 组播端点(Multicast Endpoint)** 。

组播

你可以在虚幻引擎安装目录中找到MotionBuilder Live Link插件Engine.ini文件,方法是找到: ...\Engine\Plugins\Marketplace\Engine\Programs\MobuLiveLinkPlugin\Saved\Config\Windows\Engine.ini

在文本编辑器中打开Engine.ini文件后,你必须将 MulticastEndpoint 行更改为与虚幻引擎中设置的相同值。

  [/Script/UdpMessaging.UdpMessagingSettings]
  EnabledByDefault=False
  EnableTransport=True
  bAutoRepair=True
  MaxSendRate=1.000000
  AutoRepairAttemptLimit=10
  bStopServiceWhenAppDeactivates=True
  UnicastEndpoint=0.0.0.0:0
  MulticastEndpoint=230.0.0.1:6666
  MessageFormat=CborPlatformEndianness
  MulticastTimeToLive=1
  EnableTunnel=False
  TunnelUnicastEndpoint=
  TunnelMulticastEndpoint=

除非你对组播网络有充分的了解,否则不应修改组播组。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消