MHC Talker是一款UE5的MetaHuman角色AI驱动对话口型及表情插件,目前仅支持MetaHuman标准骨骼的角色。
1. 创建角色 #
1.1. MHC Talker Avatar(单人模式) #
- 选择MetaHuman标准的角色蓝图,点击Create MHC Talker Avatar;

- 也可以选择MetaHuman角色蓝图,右键单击 -> Scripted Asset Actions -> Create MHC Talker Avatar;

关卡中会创建选中的角色(例:BP_woman)和此角色的配置节点(例:BP_woman_MHC_Talker)。

1.2. MHC Talker NPC(多人模式) #
NPC模式可实现创建角色的AI对话资产配置,当我们将角色配置好作为资产,可将多个角色资产调用到关卡地图中,实现多个AI角色对话交互应用。
1.2.1. 打开创建面板 #
点击Create MHC Taker NPC按钮;

1.2.2. 创建配置 #

Metahuman Actor:选择角色动画蓝图
MHC AI Save Path:设置将配置好的角色蓝图保存路径
Spawn to world:勾选后会将生成的资产同时创建到关卡地图中,不勾选则只保存在选择的目录中。
AI Model、TTS、Personality Prompt设置与上述MHC Talker配置中相同,请阅读文档第2项内容;
Spwan MHC AI:创建AI角色
1.2.3. 编辑 #
创建完成后,可在关卡中选择角色编辑配置,或直接编辑已保存在工程目录中的角色蓝图,如下图所示:
- 方法一: 在关卡中选择角色编辑配置
关卡大纲中选择角色,找到MHC_Talker _AI_NPC节点:

- 方法二:编辑已保存在工程目录中的角色蓝图
打开保存的角色蓝图,找到“角色名+NPC后缀”的角色蓝图,找到MHC_Talker_AI_NPC节点:

2. MHC Talker配置节点 #

2.1. AI Model #

2.1.1. 动画AI模型: #

XY_SY:模型以女性样本数据;
XY_SY_V2:模型以女性样本数据,XY_SY的升级版;
XY_SY_EMO:模型以女性样本数据,加入了情绪样本训练(测试阶段,使用了较小的数据训练,可能存在情绪和口型不准确的现象);
XY_JS:模型以男性样本数据;
2.1.2. Emotion #
Emotion默认为不可选状态,在AI Model中选择XY_SY_EMO时可用;

Auto:是情感识别模块通过语音情感及文本内容理解,自动识别并推理情绪动画;
Angry:愤怒情绪;
Excited:高兴情绪;
Friendly:友善情绪;
2.1.3. EMO Strength #

EMO Strength:情绪强度
默认是不可选状态,当Emotion中选择Auto,情绪是自动推理,包括情绪强度;
如手动选择指定情绪,可设置此项调整情绪强度。
2.2. TTS语音选择 #

2.2.1. TTSModel: #

TTS模式分类:
Azure:微软语音;
CosyVoice:阿里语音;
YX-interact:测试语音;
DouBao:豆包语音
Custom_Azure:自定义Azure语音;
Custom_DouBao:自定义豆包语音;
2.2.2. Azure Model: #
列举了部分Azure语音类型。查看完整Azure语音列表
(注:选择某种语种的语音后,问题也需要用相同的语种提问,方言用普通话提问)

2.2.3. CosyVoice Model: #
列举了部分CosyVoice语音类型。查看完整CosyVoice语音列表

(注:标注“普通话+英文”的语音可以在对话中同时兼顾普通话和英文问答)
2.2.4. YX-interact Model: #
测试口型语音,不建议使用。

2.2.5. DouBao #
列举了部分Azure语音类型。查看完整豆包语音列表

2.2.6. Custom_Azure #

Custom Azure TTS Index:这里的数值是默认使用第几行的自定义语音,例如:1是第一行。
Custom AzureTTS:可点击“+”添加新的列表。
可点击按钮查看完整Azure语音列表,对应输入命名和参数,例如:

2.2.7. Custom_DouBao: #
设置同Custom_Azure;
2.3.ASR-语音识别 #

- Communicate Via Text Transimission:勾选是以语音识别的文本内容发送对话交互,不勾选则以语音音频发送对话交互;
- ASR Mode:

SherpaNcnn:内置的离线语音识别模块;
XunFei:可以支持讯飞语音的API调用;可以在下方输入API ID和API Key;
Custom:自定义语音识别功能,详细功能可参考:《自定义语音识别功能》
2.4. Persona Prompt(人设功能) #

Personality Prompt:人设提示词内容
Personality Prompt 是为角色扮演设定背景,在对话开始前预设给语言模型的一段“指令”或“背景信息”,用于定义模型的行为和角色。类似于对 AI 说:“你现在要扮演谁,应该怎么说话和思考。”在角色扮演中,你可以通过 Prompt 指定模型的身份、口吻、知识背景等。
例如:
让语言模型扮演一位中世纪骑士、未来的AI助手、幻想小说里的龙族智者等
设定角色的性格:高傲、温柔、害羞、腹黑……
设定语气风格:古风、日漫风、科幻术语满满……
你可以在开始对话前设置Prompt,一次设定,整个会话生效。
例如:
你是一个傲娇的猫娘,喜欢用撒娇的语气说话,但偶尔会口是心非。或者:你是一位古代剑客,言语中带有诗意和江湖气息,绝不透露真实姓名。
tips:
Prompt 不会出现在用户界面中,但对模型行为有显著影响。
如果角色偏离设定,可以重新设置或调整 Prompt 内容。
简洁明了的描述更容易让模型准确理解角色。
MHC Actor ID:角色ID(自动生成)
Avatar Name:虚拟角色名称(此名称将显示在对话框中)
Interlocutor Name:对话者名称(此名称将显示在对话框中)
2.5. Custom Greeting(自定义开场欢迎语) #

Is Greeting:开启开场欢迎语;
Greeting Text:欢迎语内容;
2.6. Custom API(自定义交互接口) #

Use Custom API:是否启用自定义API;
Communite With UI:调用自定义蓝图;
(注:如启用Use Custom API需要配置自定义的蓝图实现交互)
详细配置参考:如何自定义接入语言模型和语音
2.7. 自定义摄像机 #

Create Default Camera:创建默认相机,勾选后会自动创建一个以角色头部为中心的摄像机;
CineCameraActor:当不勾选Create Default Camera,可手动添加电影摄像机Actor(CineCameraActor);
创建电影摄像机Actor(CineCameraActor),仅支持CineCameraActor类型摄像机。

Packaged Resolution:程序打包分辨率设置,若Cine CameraActor没有选择相机或Create Default Camera没有勾选,则此参数不起作用;
2.8. Packaged(打包设置) #

UI Mode:打包UI形式选择;

Editor UI:编辑模式,用于在UE编辑器中调试角色语音、表情后处理、动画AI模型等;

Simply UI:精简模式,只保留基础动画功能,适用于成品打包;

Language:打包语言选择;
3. 对话UI编辑模式 #

3.1. 对话模式/阅读模式 #

对话模式:与AI问答对话;

阅读模式:将输入的文字或语音复述;
3.2. 后处理面板 #

后处理面板按钮:打开面板;

眼神控制:控制眼神视线;
表情情绪控制:更改眉毛、眼睛、嘴角上扬和下坠的状态,此部分控制是调整表情整体状态;
对话时口型与头部运动:这里控制的是对话时的幅度,不对话时不受影响,头部动画幅度是根据语音重度计算头部自然运动,跟身体动画中的头部运动不冲突,是叠加在身体动画中头部运动的补充。

Debug Body Animations:此选项勾选后,可显示调用身体动画数据信息反馈;
3.3. 配置面板 #

配置面板按钮,

运行后UI中的配置面板功能与角色MHC Talker配置(阅读文档第2项)中功能相同,这里便于实时调试。
(注:切换语音、切换AI模型会在下一轮对话中生效,一轮对话为一次问答)
3.4. 语音对话 #

语音对话按钮,鼠标按住按钮说话,松开鼠标发送语音。
3.5. 发送 #

发送按钮,快捷键“回车”。
3.6. 连接状态 #
显示与服务器连接的状态,“绿灯”为连接正常,“红灯”为连接断开,连接异常有可能是服务器出现异常,也可能为账号过期或余额不足。
3.7. 反馈信息 #
快捷键“0”,开启/隐藏反馈信息

各项功能处理耗时信息:(单位:秒)
llm_infer:大语言模型推理;
asr_process:语音识别处理;
vc_process:已弃用;
tts_process:文本转语音处理;
ani_process:口型动画推理;
all time:总延迟时间;
duration:每句话动画时长;
FPS:帧率;
ms:毫秒;
4. 清除MHC Talker配置 #

使用Clear MHC Talker Avatar可直接清除MHC Talker配置角色,仅清除MHC Talker Avatar角色,NPC(多人模式)的角色不会被清除。
End
