动画流#

在 2.2 版本中添加。

动画流使用 NVIDIA Animgraph 服务(最低 v1.0.1)通过订阅来自服务的音频和动画数据流来动画化您的角色。

注意

在将动画流添加到您的应用程序之前,您必须设置用于动画的角色

注意

动画流当前与 RemoteA2F 提供程序 不兼容。这两个功能不能在同一个应用程序中使用。

系统要求#

Windows

  • 64 位 Windows 10 或更高版本

Linux
  • 具有 libstdc++ 版本 6.0.29 或更高版本的 64 位 Linux 操作系统

    • Ubuntu 21.10 或更高版本

    • RHEL 9.4 或更高版本

    • Fedora 35 或更高版本

    • Debian 12.0 或更高版本

动画流连接设置#

ACE 插件的项目设置中有一些选项会影响动画流功能使用的默认 NVIDIA Animgraph 服务器连接。

  • 编辑 > 项目设置… > 插件 > NVIDIA ACE > 动画流 > Animgraph 服务默认 URL

    • 服务器地址必须包括 scheme(http 或 https)、主机(IP 地址或主机名)和端口号。例如,http://203.0.113.38:51000https://animgraph.example.com:51010

  • 编辑 > 项目设置… > 插件 > NVIDIA ACE > 动画流 > Animgraph 服务连接尝试次数

    • 默认为 1。如果您希望在 NVIDIA Animgraph 服务启动的同时启动基于 Unreal 的应用程序,您可能希望在服务启动时进行更多初始连接尝试。

  • 编辑 > 项目设置… > 插件 > NVIDIA ACE > 动画流 > Animgraph 服务连接重试间隔(秒)

Animation Stream project settings

订阅角色到动画流#

要从 ACE 服务接收的动画流中动画化角色,请在角色 Actor 上使用蓝图函数 订阅角色到流。这些说明描述了蓝图界面,但您也可以从 C++ 调用 UACEBlueprintLibrary::SubscribeCharacterToStream

根据您的应用程序,有很多方法可以确定要动画化哪个角色。一些选项可能是

  • 拥有一个要动画化的默认角色

  • 自动动画化玩家正在查看的角色或最近的角色

  • 提供一些 UI 用于选择角色

在您选择角色 Actor 后,将其订阅到动画流

  1. 调用 ACE > AnimStream > 订阅角色到流 函数。

  2. 提供与您要动画化的角色对应的 actor。如果 actor 附加了 ACE 音频曲线源组件,这将启动与 NVIDIA Animgraph 服务的连接。

  3. 提供与 NVIDIA Animgraph 服务中的 Stream Id 对应的流名称。

  4. 节点的 Success 返回值指示 actor 是否已成功连接到流线程。连接到服务之前会有一段延迟。

    即使节点返回 True,连接也可能稍后失败。例如,如果提供了无效的流名称,或者服务不可用。查看日志以了解详细信息。

动画流将永远持续下去,直到发生以下情况之一

  • 流被取消

  • actor 被销毁

  • 与服务的连接中断

Subscribe Character To Stream node

取消动画流订阅#

要停止角色被动画化,请在角色 Actor 上使用蓝图函数 取消订阅流。这些说明描述了蓝图界面,但您也可以从 C++ 调用 UACEBlueprintLibrary::UnsubscribeFromStream

  1. 调用 ACE > AnimStream > 取消订阅流 函数。

  2. 提供您用于 订阅角色到流 函数的相同 actor。

  3. 节点的 Success 返回值指示是否提供了有效的 actor。

流立即被取消。在此节点返回后,保证不会再发生动画。

Unsubscribe From Stream node