Kairos 虚幻引擎示例项目#
Kairos 虚幻引擎示例项目旨在为希望将 NVIDIA ACE 插件集成到游戏中的游戏开发者提供指导。
您可以从 https://developer.nvidia.com/ace/get-started#section-ace-tools-and-reference-workflows 下载虚幻引擎项目文件。
本文档简要概述了示例项目及其工作原理。
快速入门指南#
此项目需要以下事项才能正常工作
安装并激活 NVIDIA ACE 插件,请按照 NVIDIA ACE 插件安装中提供的详细步骤操作。
添加 MetaHuman 到您的场景中,并配置它们以与 NVIDIA ACE 插件一起工作。
配置 Audio2Face 设置,使用您的 NVIDIA Cloud Functions API 密钥或通过指定现有 Audio2Face 服务的服务器 URL。
正确配置后,按下绿色播放按钮会在选定的目标 Actor 上启动音频和面部动画。
注意
我们强烈建议您尽可能使用 NVIDIA Cloud Functions 选项。
故障排除#
注意
当我们发布此项目以遵守 Epic 的准则时,我们正在从项目中剥离 MetaHuman 角色。当您首次打开项目时,可能会出现一些非关键错误。这些错误可以安全地忽略,您可以轻松地将 MetaHuman 添加回项目。

提示
创建新项目后,如果您收到消息指示在返回编辑器时缺少目标 URL,或者动画不起作用,请确保主机名和 API 密钥已正确填充在项目设置中。如有必要,请重新输入并保存这些详细信息。
MetaHuman#
添加新的 MetaHuman#
常见的 MetaHuman 蓝图包含在项目中,并且已经配置为与插件一起工作,但是您必须将您自己的 MetaHuman 添加到项目中才能看到 NVIDIA ACE 插件的实际效果。
要添加新的 MetaHuman,请按照以下步骤操作
打开 Quixel Bridge。
导航到 MetaHuman 选项卡并浏览预设。下载然后将 MetaHuman 添加到您的项目。
下载完成后,在内容浏览器中浏览到新的 MetaHuman。将 蓝图类 拖到场景中,并将角色移动到位。
对 MetaHuman 的蓝图类进行一些更改。双击打开此类,并将 ACE Audio Curve Source 添加到场景组件。它在层次结构中的位置无关紧要。具有此组件的 Actor 会自动添加到 UI 中的 目标 Actor 下拉列表中,并且可以用作接收 Audio2Face 动画的目标。
[可选] 音频组件#
此项目在 Content/Audio/AudioClips
中包含一些测试音频剪辑。这些剪辑可以作为 AudioComponent 附加到 Actor,并且游戏内 UI 会在 音频示例 下拉列表中显示这些剪辑。
通过将内容浏览器中的相关剪辑拖到场景组件中,将 AudioComponent 剪辑添加到蓝图中。您可以将它们分组在一个空的 Scene 组件中,以保持整洁。
确保选择所有 AudioComponent,并在“ 详细信息 ”面板中取消选择 自动 激活
。如果不取消选择,所有这些剪辑将在游戏开始时开始播放。
[可选] 待机动画#
此项目包含来自虚幻引擎的 城市示例 的一些非常基本的待机动画。您可以将这些动画重定向到您的 MetaHuman 的骨骼网格体,以添加一些基本的待机动画。下面的“ 重定向动画 ”对话框的屏幕截图来自虚幻引擎 5.4,该版本已从 5.3 更改,但步骤相同。
在 Content/MetaHumans/Animations/
中找到所需的动画剪辑。右键单击并选择 重定向动画 。
您必须填充 目标 骨骼 网格体
。
要在您的角色上找到骨骼网格体,请在 大纲视图 中选择它们,然后在“ 详细信息 ”面板中选择“ 身体 ”组件。选择后,验证您是否看到一个带有文件夹和放大镜图标的 骨骼网格体资产 ,该图标可用于打开内容浏览器以访问该资产。
在内容浏览器中选择 骨骼网格体 ,然后将其拖动(开始拖动后可以按 Alt+Tab 键)到“ 重定向动画 ”窗口中的“ 目标骨骼网格体 ”字段。
选择您要导出的动画,为输出选择目标文件夹,然后运行 导出动画 。
将角色的 动画模式 更改为 使用动画资产 ,并将其放入您新重定向的 动画序列 中。
用户界面概述#
启动游戏时,设置 UI 会自动出现。您可以使用 H
快捷键切换此 UI 的开和关。此界面允许您配置 NVIDIA ACE 插件设置,选择音频输入,并在选定的角色上触发播放。
Actor 控制#
目标 Actor#
此下拉菜单控制哪个角色从 NVIDIA ACE 插件接收动画。它在游戏开始时自动填充,并识别所有具有 ACEAudioCurveSourceComponent
的 Actor。新添加或复制的且配置正确的角色也会出现在此列表中。
缩放至角色#
放大镜图标允许您调整相机以聚焦于当前目标 Actor。
切换待机动画#
此演示中的角色具有基本的待机动画,可以单独打开或关闭。此功能会停止其待机移动,而不会影响来自 Audio2Face 的动画。
启用待机动画后,角色会显示细微的动作。
禁用待机动画会使角色冻结在其当前姿势。
Audio2Face#
音频源#
音频源选择确定 NVIDIA ACE 插件的音频输入。
示例#
此选项查找附加到当前选定 目标 Actor 的所有 AudioComponent。这些组件对于每个角色都是唯一的,这会导致当您选择不同的目标 Actor 时,此下拉菜单中的可用选项发生变化。
本地文件#
在此模式下,您可以输入或浏览磁盘上的 .wav
文件。仅当提供的文件路径存在且所有服务都已正确连接时,播放按钮才会变为活动状态。
文件夹图标会打开一个对话框,允许您导航到并选择 .wav
文件,并自动填充文件路径。
录制#
录制功能使您能够按住以使用麦克风捕获音频。此录音保存在游戏文件中,并被每个新录音替换。如果文件存在且所有服务都已连接,则播放按钮会激活。
播放#
按下播放按钮会向 NVIDIA ACE 插件发送请求,然后该插件使用选定的音频源来动画化目标 Actor。
设置#
必须配置 Audio2Face 设置才能正常工作。为此,请导航到 Audio2Face 部分中的 设置 选项卡。
在这里,您可以提供 NVIDIA Cloud Functions API 密钥或现有 Audio2Face 服务的服务器 URL。
注意
我们强烈建议您尽可能使用 NVIDIA Cloud Functions API 密钥选项。您可以通过访问 https://build.nvidia.com/nvidia/audio2face/api 并按照那里的说明获取您的 NVIDIA Cloud Functions API 密钥。API 密钥以 nvapi- 开头,后跟 64 个随机字符。
配置服务后,Audio2Face 组左侧的动画图标变为绿色,表示已输入连接设置。这并不意味着输入的设置有效,并且可以连接到服务。请继续关注,我们将继续改进此功能。
如果使用不以 http
开头的服务器 URL,则此示例项目中的蓝图会自动将 http://
前置到提供的任何内容。这在 Content/Core/Blueprints/UI/WB_Components/WB_A2F_Settings:GetConnection
函数中完成。
情感控制#
Audio2Face 从音频输入中检测情感,从而适当地影响角色动画。如果您的应用程序具有关于角色情感的信息,您也可以将其提供给 Audio2Face,并且应用程序提供的情感覆盖会与检测到的情感混合。每个情感覆盖值都在 0.0 到 1.0 之间。超出该范围的值将被忽略。值 0.0 表示中性情感。
注意
对于小于 0.5 秒的音频剪辑,情感和面部参数输入不会产生任何效果。

调整参数#
某些 Audio2Face 服务参数可以被应用程序覆盖。通常,这些参数与部署到服务的模型紧密耦合,因此不建议在应用程序中更改这些设置。如果您需要更改其中任何一个,请参阅 Audio2Face 服务文档,以了解有关它们作用的详细信息。