动画流#
在 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:51000
或https://animgraph.example.com:51010
。
编辑 > 项目设置… > 插件 > NVIDIA ACE > 动画流 > Animgraph 服务连接尝试次数
默认为 1。如果您希望在 NVIDIA Animgraph 服务启动的同时启动基于 Unreal 的应用程序,您可能希望在服务启动时进行更多初始连接尝试。
编辑 > 项目设置… > 插件 > NVIDIA ACE > 动画流 > Animgraph 服务连接重试间隔(秒)

订阅角色到动画流#
要从 ACE 服务接收的动画流中动画化角色,请在角色 Actor 上使用蓝图函数 订阅角色到流。这些说明描述了蓝图界面,但您也可以从 C++ 调用 UACEBlueprintLibrary::SubscribeCharacterToStream
。
根据您的应用程序,有很多方法可以确定要动画化哪个角色。一些选项可能是
拥有一个要动画化的默认角色
自动动画化玩家正在查看的角色或最近的角色
提供一些 UI 用于选择角色
在您选择角色 Actor 后,将其订阅到动画流
调用 ACE > AnimStream > 订阅角色到流 函数。
提供与您要动画化的角色对应的 actor。如果 actor 附加了 ACE 音频曲线源组件,这将启动与 NVIDIA Animgraph 服务的连接。
提供与 NVIDIA Animgraph 服务中的
Stream Id
对应的流名称。节点的 Success 返回值指示 actor 是否已成功连接到流线程。连接到服务之前会有一段延迟。
即使节点返回 True,连接也可能稍后失败。例如,如果提供了无效的流名称,或者服务不可用。查看日志以了解详细信息。
动画流将永远持续下去,直到发生以下情况之一
流被取消
actor 被销毁
与服务的连接中断

取消动画流订阅#
要停止角色被动画化,请在角色 Actor 上使用蓝图函数 取消订阅流。这些说明描述了蓝图界面,但您也可以从 C++ 调用 UACEBlueprintLibrary::UnsubscribeFromStream
。
调用 ACE > AnimStream > 取消订阅流 函数。
提供您用于 订阅角色到流 函数的相同 actor。
节点的 Success 返回值指示是否提供了有效的 actor。
流立即被取消。在此节点返回后,保证不会再发生动画。
