本教程将介绍如何使用 MetaHuman 作为游戏内角色在 虚幻引擎(Unreal Engine) 中创建基本对话设置。你还将了解如何使用 对话音效(Dialogue Voices) 和 对话声波(Dialogue Waves) 根据角色的说话对象调整声调。
对于较长时间的对话,你很可能需要创建对话管理器系统。
必要知识和设置
本页面假设你已经了解虚幻引擎中动画蓝图的基本知识。
若要执行此页面上介绍的步骤,请先根据第三人称模板创建新的虚幻引擎项目。
下载和导出MetaHuman
打开 Quixel Bridge 并下载三个MetaHuman。本教程使用 Ada 、 Cooper 和 Hana 预设。你可以同时下载多个MetaHuman。
将这些MetaHuman下载到本地机器后,将其导入到你的项目中。

你下载的MetaHuman文件位于 内容浏览器(Content Browser) 中的 MetaHumans > [MetaHumanName] 文件夹中。例如,Ada的位置将是 MetaHumans > Ada 。

如果在完成此步骤时需要帮助,请参阅入门页面。
制作MetaHuman的动画
成功导入MetaHuman后,你可以设置它们以用作游戏内角色。学习运行时动画重定向指南,了解如何在运行时将动画从UE5人体模型重定向到MetaHuman。
完成该指南后,每个用作关卡中可操作角色的MetaHuman都有可控制的蓝图。
点击查看大图。
请参阅文档的制作MetaHuman的动画小节,详细了解如何制作MetaHuman的动画。本小节包括有关创建动画蓝图和资产、动画重定向、使用Control Rig和使用面部Rig的指南。
创建对话音效
在本教程中,Ada将是任务NPC,而Cooper和Hana将是可操作角色。
下面是示例设计文档的片段:
- Cooper是雇佣兵,喜欢潜行隐匿,不爱直接对抗。
- Hana是退役士兵,在上一次重大银河冲突事件之后加入了Cooper的团队。
- Ada是士兵,想从Cooper的团队中雇佣一人作为补给护送任务的后援。
![]() |
![]() |
![]() |
---|---|---|
Ada(任务NPC) | Cooper | Hana |
-
首先,你需要将 对话音效(Dialogue Voice) 变量添加到每个MetaHuman角色。在 内容浏览器(Content Browser) 中,双击你在之前小节为Ada创建的蓝图。在此示例中,该蓝图称为 BP_AdaCharacter 。
-
点击 添加(Add) 按钮,添加新的 变量 。
-
将新变量命名为 DialogueVoice ,然后将其类型设置为 对话音效对象引用(DialogueVoice Object Reference) 。编译并保存蓝图。为其他角色的蓝图重复该过程。
-
现在,你将为每个角色创建 对话音效(Dialogue Voice) 资产。在 内容浏览器(Content Browser) 中,右键点击并选择 音效(Audio)> 对话(Dialogue)> 对话音效(Dialogue Voice) 。
-
将新资产命名为 Ada,然后双击打开。
-
参考设计文档,我们知道Ada的音效是 女性化(Feminine) 和 单一(Singular) 。点击下拉菜单相应设置 性别(Gender) 和 多元性(Plurality) 。
-
再重复该过程两次,为Cooper创建 男性化(Masculine) 和 单一(Singular) 的 对话音效(Dialogue Voice) 资产,为Hana创建 女性化(Feminine) 和 单一(Singular) 的 对话音效(Dialogue Voice) 资产。
-
保存并关闭你的所有 对话音效(Dialogue Voice) 资产。
现在,将 对话音效(Dialogue Voice) 资产与各自的MetaHuman关联。
-
切换到 BP_AdaCharacter 蓝图。选择 DialogueVoice 变量,然后转到 细节(Details) 面板。将 对话音效(Dialogue Voice) 属性设置为 Ada 。
-
重复该过程,为Cooper和Hana设置 对话音效(Dialogue Voice) 属性。
-
(可选)为每个 对话音效(Dialogue Voice) 资产添加自定义缩略图。
将你的角色放置在世界中,然后在视口中制作角色的帧。在 内容浏览器(Content Browser) 中右键点击 对话音效(Dialogue Voice) 资产。选择 资产操作(Asset Actions)> 采集缩略图(Capture Thumbnail) 。这会将MetaHuman添加到每个 对话音效(Dialogue Voice) 资产的缩略图。

构建对话声波
本例中,我们将实现Ada对Cooper和Hana的问候。每一行对话都需要与之关联的 对话声波(Dialogue Wave) 资产。
-
在 内容浏览器(Content Browser) 中,右键点击并选择 音效(Audio)> 对话(Dialogue)> 对话声波(Dialogue Wave) ,新建一个 对话声波(Dialogue Wave) 资产。
- 将该新资产命名为 QuestGreeting ,然后双击打开它。
-
在 口语文本(Spoken Text) 中输入"喂!你能来一下吗?我有件很重要的事情需要你的帮助。(Hey! Could you come over here? I need your help with something important.)"。尽管Ada在与Cooper和Hana对话时使用的是相同的文本,但游戏设计文档给了我们一些提示,即说出这些文本的方式可能会因听众而异。这意味着,你需要设置两个不同的 对话情境(Dialogue Contexts) 。
-
已默认创建一个情境。将 Ada 填入 发言人(Speaker) 条目。点击 加号 (+)) 图标添加听众。将 用于(Directed At) 属性设置为 Cooper 。
-
点击 添加对话情境(Add Dialogue Context) ,添加新的 对话情境(Dialogue Context) 。
-
将此情境的 发言人(Speaker) 设置为 Ada ,并将 用于(Directed At) 设置为 Hana 。
-
你还可以做一些笔记,说明配音员的语气应当如何对Hana更友好,因为他们有共同的军事背景,对Cooper更生硬一些,因为他过去当过雇佣兵,不受信任。在 配音员说明(Voice Actor Direction) 字段中输入这些笔记。
-
最后,在配音员录音返回之后,你可以将录音导入为 声波(Sound Waves) ,并在 声波(Sound Wave) 字段中针对各个情境设置它们。你可以创建新的 声波(Sound Waves) ,也可以使用 初学者内容包(Starter Content) 中的 声波(Sound Waves) 来测试。
你还可以在 对话声波(Dialogue Wave) 中设置 字幕覆盖(Subtitle Override) 。如果要制作效果声音或角色说的是玩家不了解的外语等情况,则此功能非常有用。
设置情境
你已经设置了 对话音效(Dialogue Voices) 和 对话声波(Dialogue Wave) ,现在可以向Ada蓝图添加逻辑,为她的问候语创建正确的情境。
一个 对话情境(Dialogue Context) 涉及至少两个 对话音效(Dialogue Voices),即一个 发言人(Speaker) 和至少一个(该对话 用于(Directed At) 的) 对话音效(Dialogue Voice) 。
-
将 盒体(Box) 组件添加到 BP_AdaCharacter 蓝图。
-
在 视口(Viewport) 中,缩放 盒体(Box) 组件,使其接近角色高度,并在她前面延伸一段距离。确保盒体不与她重叠,否则她自己会触发对话逻辑。
-
添加名为 问候(Greeting) 的新 对话声波(Dialogue Wave) 变量。
-
编译你的蓝图,并将 问候(Greeting) 的 默认值(Default Value) 设置为你之前创建的 QuestGreeting 对话声波(Dialogue Wave) 。
-
设置以下蓝图图表。
点击查看大图。
该图表:
- 在某个内容与 盒体(Box) 组件重叠后执行。
- 将 重叠Actor(Overlapping Actor) 转换为你添加了 对话音效(Dialogue Voice) 变量的 BP_HanaCharacter 和 BP_CooperCharacter 蓝图。
- 从 重叠Actor(Overlapping Actor) 获取音效,并将其用作 对话情境(Dialogue Context) 的 目标(Target) 。
- 针对你的 对话情境(Dialogue Context) ,为 发言人(Speaker) 使用Ada的音效。
- 使用正确的 对话情境(Dialogue Context) ,在Ada的位置播放名为 问候(Greeting) 的 对话声波(Dialogue Wave) 。
打开 世界设置(World Settings) 并展开 游戏模式(Game Mode) 分段下的 所选游戏模式(Selected GameMode) 选项。将 默认Pawn类(Default Pawn Class) 设置为 BP_CooperCharacter 或 BP_HanaCharacter 。

现在,如果你的任务NPC放置在关卡中,你可以让Cooper或Hana迎上去并触发对话。
启用字幕
字幕默认启用,但如果你需要检查字幕是否打开,请执行以下步骤:
-
点击 设置(Settings)> 项目设置(Project Settings) 以打开 项目设置(Project Settings) 。
-
在 通用设置(General Settings) 下,找到 字幕(Subtitles) 分段,确保 启用字幕(Subtitles Enabled) 复选框 已勾选 。
现在,当你触发任务NPC的对话时,屏幕底部会显示相应的字幕文本。

除非你的 对话声波(Dialogue Wave) 中已针对当前正在发生的情境设置了 声波(Sound Wave) ,否则不会显示字幕。