对话头像叠加层

创作者: MoeChakkaaFire
已更新:2026-08-19 13:34:36
102.3MB

关于此 MOD

根据对话中当前说话者的姓名显示头像。
描述
⠀
对话头像覆盖层会显示与每个角色关联的角色图像,让玩家在对话中更容易识别当前说话者。
⠀
主线任务对话通常包含角色语音,因此较容易辨认出说话者是谁。然而,支线任务不包含角色语音。当多个角色出现在同一段对话中时,玩家必须反复查看对话框中所显示的名字来确认当前说话者。
⠀
这会打断阅读节奏,使说话者更容易混淆,并可能降低专注度和沉浸感。此模组正是为解决该问题而制作的。

⠀
⠀

⠀

⠀
功能
⠀
  • 显示与当前对话说话者匹配的角色图像(仅限已注册图像)
  • 支持基于对话框中所显示说话者姓名的附加且可自定义的图像映射
  • 自动支持FHD/QHD/UHD、超宽屏及其他宽高比分辨率
  • 立绘淡入/淡出设置
  • 肖像眨眼动画设置(借助 拉斯特,非常感谢你 ♥♥)
  • UE4SS 稳定版 / 实验版运行时兼容结构,支持自动检测
  • 立即通过运行时重载应用配置更改
当前支持
已识别出数据字符串的35个角色的原创艺术风格肖像。
除英语和韩语外的多语言角色名配置是在以下人员的帮助下完成的: 空值993。(谢谢!♥♥)
⠀
⠀
更新日志
⠀
剧透:  
显示

  • v1.1.0 :将头像集替换为基于原创艺术作品的图像,用于 36 35个字符。
  • v1.1.1 修复了 Kalsion / Ornette 的英文数据集。
  • v1.2.0 :
    - 已添加 UE4SS 稳定版/实验版运行时兼容结构,支持自动检测
    - 对话检测钩子稳定性改进,具备有限的自动恢复结构
    - 已添加手动对话检测恢复功能
    - 已应用多语言角色名称数据集(由 Null993 提供)
    - 已为配置文件(ini)添加运行时重新加载热键
    - 改进了对超宽屏和各种宽高比的自动分辨率支持
    - 配置值和数据集验证已加强
    纹理缓存与数据集匹配处理已改进
    - 日志功能已改进
  • v1.3.0 :
    - 添加了头像眨眼动画并更新了相关资源(由 Laast 完成)
    - 为对话开始/结束及角色过渡添加了淡入淡出效果
    - 已同步主线任务对话结束时黑屏淡出与头像关闭的时机
    - 添加了打开和关闭对话日志时自动隐藏/恢复头像的功能
    - 添加了防止重复热键输入的保护
    - 提升了 UObject 生命周期稳定性
    清理代码
  • v1.3.1 修复卡斯特拉默认图像
  • v1.3.2 :新增了一种额外的恢复模式(可选)
  • v1.4.0 :
    - 对话检测与恢复功能重大重做
    - 提升了对话检测的稳定性
    - 通过更改头像图像画布,改进了Z轴顺序行为
    - 淡入淡出行为调整(次要)
    - 配置与数据清理(次要)
    - 头像图片更新(轻微)

⠀
⠀
需求
⠀
  • 龙剑:觉醒
  • UE4SS(任意版本)
对话立绘叠加层 v1.2.0(或更高版本)不绑定特定的 UE4SS 版本。它会自动检测并兼容稳定版/最新实验版运行时分支。

稳定版:UE4SS-RE v3.0.1 稳定版
实验性构建:最新版(大概)

UE4SS实验性最新构建可能会更改内部API或文件夹结构,因此未经核实的未来构建可能表现不同或无法运行。

⠀
⠀
安装

  • 安装 UE4SS。(稳定版 v3.0.1 / 最新实验版)
  • 下载对话头像叠加层并解压压缩包。
  • 复制提取出的 对话头像叠加层 文件夹放入 模组 当前安装的UE4SS所使用的文件夹。
  • 开始游戏。
Mods文件夹的位置可能因UE4SS版本而异。例如:

稳定/标准布局:
龙剑觉醒/DS/Binaries/Win64/Mods/DialoguePortraitOverlay/

实验性布局示例:
龙剑觉醒/DS/Binaries/Win64/ue4ss/Mods/DialoguePortraitOverlay/
请确保将模组安装到当前UE4SS安装实际使用的Mods文件夹中。
⠀
⠀
文件夹结构

对话头像叠加层/
├─ enabled.txt
├─ config.ini
├─ 角色.ini
├─ VERSION.txt
├─ images/
│ └─ (角色图像文件)
└─ 脚本/
   ├─ main.lua
   └─ compat.lua
⠀
⠀
配置
⠀
config.ini - 自动布局

默认是 自动布局=1自动布局会根据当前屏幕缩放图像的位置和大小 高度,使头像在不同分辨率和宽高比下保持与对话界面相匹配的相对位置和大小。

  • 自动布局=1: 启用自动布局(0 或 1=启用)
  • 自动参考高度用于自动布局的参考屏幕高度;通常无需更改
  • 自动X:水平参考位置;图像水平锚点为 右边缘
    • 屏幕中心 = 0
    • 负值 = 屏幕中心左侧
    • 正值 = 屏幕中心右侧
  • 自动Y:垂直参考位置;图像垂直锚点即为 底边
    • 屏幕顶部 = 0,数值越大,图像向下移动得越多
  • 自动高度:参考屏幕高度下的图像高度(更改高度会缩放整个图像)
  • 自动切屏:水平图像比例(仅更改宽度)
    • 1.0 = 保持原始图像比例
    • 1.1 = 宽10%
    • 0.9 窄10%

自动布局会读取PNG的实际尺寸并计算源宽高比。这样一来,具有不同源宽高比的图像就可以根据配置的高度自动计算其宽度(自动高度)。 (注:原文仅为一个右括号,已按中文标点规范转换为全角右括号。若需严格保留原半角符号,请说明。)



⠀
config.ini - 手动布局

设置 自动布局=0 使用现有的手动布局。

在手动布局中,屏幕坐标和图像坐标都使用 左上 作为原点。屏幕左上角是 (0, 0),以及 X / Y 指定图像的左上角位置。


  • 参考宽度,参考高度:参考分辨率(游戏画面分辨率)
  • X,Y:图片左上角位置
  • 宽度,高度:基于参考分辨率的图像尺寸
  • 层级顺序:绘制顺序
  • 缩放模式:手动布局缩放基准(高度 或 宽度)
⠀
config.ini - 层级顺序

ZOrder 控制 DPO 头像在游戏对话 UI 中的放置位置。
默认情况下,头像位于普通对话框后方。数值越高,头像在本地对话UI层中的位置越靠前。
供参考,观察到的对话UI层级大致如下:

⠀
  • 肖像 = 1
  • 对话框 = 2
  • 顶部栏 / 交互层 = 10
  • 事件特效 = 12
⠀
尽可能避免与现有游戏层使用完全相同的ZOrder。
⠀
⠀
config.ini - 性能

  • 轮询间隔毫秒对话说话人检查间隔
    • 允许范围: 20-10000 毫秒
    • 较低的值可能会更快检测到说话人变化,但可能因用户环境而增加负载。
    • 大约 100-150 推荐。
  • 调试日志: 0 常规使用 / 1 用于详细日志记录
⠀
config.ini - 动画

  • 淡入启用:所有头像淡入淡出效果的总开关(1 = 已启用 / 0 = 已禁用)
  • 淡出时长毫秒:头像出现或消失时使用的淡入淡出持续时间
  • 淡出过渡毫秒对话角色切换时的淡出持续时间
  • 淡入过渡毫秒对话说话者切换时的淡入持续时间
    • 允许的值: 0 或 50-500毫秒
    • 0 禁用此常规淡入淡出效果。
  • 闪烁动画: 当两个额外帧图像均可用时启用头像眨眼动画(1 = 已启用 / 0 = 已禁用)
  • 闪烁最小秒数,闪烁最大秒数:每次眨眼序列前的随机延迟范围
    • 允许范围: 1.0-60.0秒
    • 闪烁最大秒数 必须大于或等于 闪烁最小秒数.
  • 闪烁帧毫秒:闪烁动画帧之间的时间
    • 允许范围: 20-200 毫秒
  • 闪烁双倍几率:立即双击闪现的几率
    • 0.25 = 25% / 允许范围: 0.0-1.0

没有额外眨眼帧的角色将保持为静态立绘。动画设置可通过运行时配置重载来应用。

⠀
config.ini - 手动紧急模式

紧急模式=0 是默认且推荐的设置。

使用:
紧急模式=1

仅当普通模式在您的系统上从未检测到对话时。
手动紧急模式会禁用正常检测栈,并改用成本更高的备用监视器。
更改此选项需要完全重启游戏。

⠀

config.ini 兼容性

  • UE4SS版本=0:自动检测(默认)
  • UE4SS版本=1:强制使用 UE4SS v3.0.1 稳定版适配器
  • UE4SS版本=2强制使用实验性适配器
0 建议在正常使用时采用。此设置将在启动时应用。
⠀
⠀
热键
⠀
所有默认装填快捷键都使用一个 Ctrl 组合。

  • Ctrl+PageUp: 运行时重新加载的热键 characters.ini
  • Ctrl+PageDown:用于以下操作的运行时重载热键: config.ini
角色重载键 和 配置重载键 可在以下位置更改: [热键] 的一部分 配置.iniCtrl 修饰键已固定。

[热键]
CharacterReloadKey=PAGEUP
ConfigReloadKey=PAGEDOWN
你可以使用当前UE4SS版本提供的按键名称 按键 表格,包括 A-Z、ZERO-NINE(数字)、F1-F24、PAGEUP、PAGEDOWN、HOME、END、方向键等。无效的按键名称会回退到该功能的默认值。

热键设置更改将在重启游戏/模组后生效。 Ctrl+ConfigReloadKey 不会重新绑定快捷键本身。

⠀
⠀
角色.ini

[角色]
Lute=lute.png
鲁特琴=lute.png
格式:
对话框中显示的角色名=image_file.png

英文名称不区分大小写。 鲁特琴, 鲁特琴,以及 鲁特琴 被视为同一名称。
多个本地化名称可以共用同一个PNG文件。
空行以及以 ; 或 # 被忽略。
如果同一名称被多次注册,则使用最后一个有效条目。
格式错误的行不会导致整个文件加载失败;只会跳过受影响的行。

如果你编辑 character.ini 游戏运行时,使用默认热键 Ctrl+PageUp 重新装填。无需重启游戏。

⠀
⠀
备注

  • 图像仅对已注册的角色显示。 角色.ini.
  • 实际的PNG文件必须存在于 图片 文件夹。
  • 缺失的PNG文件记录在 UE4SS.log.
  • 该模组不会修改存档数据。
  • 游戏更新可能会改变UI结构并影响模组的行为。
  • 设置 调试日志=1 在为问题报告收集日志时。
⠀
⠀
卸载
⠀
删除已安装的 对话立绘叠加层 文件夹。
⠀
⠀
故障排除
⠀
进行一般故障排除时,请在以下位置设置以下选项: config.ini:

[性能]
调试日志=1
重现问题并检查 UE4SS.log.

如果注册发言者的图像未显示,请按 Ctrl+0 运行一次手动恢复。(请勿反复按下。)

⠀
⠀
特别鸣谢

  • UE4SS-RE
  • JPTHEHERO
  • 拉斯特 :闪烁动画及资源、创意与实现协助
  • Null993 : 多语言数据集
⠀
⠀
⠀
────────────────────────────
⠀
⠀
⠀
⠀
说明
⠀
对话头像叠加是一个模组,它会在屏幕上显示当前各角色所关联的角色图像,让玩家能直观地区分正在对话的角色。
⠀
主线任务对话中,角色通常会提供语音,因此比较容易分辨当前说话者。但支线任务没有角色语音。当多个角色同时出现时,玩家需要不断查看对话框名称来确认当前说话的人是谁。
⠀
这个过程会打断阅读流,让说话者感到困惑,并可能降低对话的专注度和沉浸感。因此,我制作了它。

⠀
⠀
特征
⠀
  • 显示与当前对话说话者匹配的角色图像(仅显示已注册设置的图像)
  • 为对话窗口显示名称添加并自定义图像映射
  • 自动分辨率适配:FHD / QHD / UHD 及超宽屏等
  • 肖像显示淡入/淡出设置
  • 肖像画眨眼动画设置(感谢Laast的帮助,真心感谢 ♥♥)
  • UE4SS 稳定版 / 实验版运行时兼容结构与自动检测
  • 通过运行时重载立即应用设置
当前支援数据
已确认数据字符串的35个原创艺术风格角色
英语、韩语之外的多语言设置由Null993协助完成。(谢谢 ♥♥)
⠀
⠀
变更明细
剧透:  
显示

  • v1.1.0 基于原创美术作品的肖像图像替换应用(36个角色)
  • v1.1.1 Kalsion / Ornette 英文数据集修改
  • v1.2.0 :
    - 添加 UE4SS 稳定版/实验版运行时兼容结构及自动检测支持
    - 对话检测Hook稳定性优化及有限自动恢复结构添加
    - 添加对话检测手动恢复功能
    - 角色名称多语言数据集应用(by Null993)
    - 添加配置文件(ini)运行时重新加载快捷键
    - 自动分辨率适配:改善对超宽屏及多种屏幕比例的适配
    - 强化设置值数据验证
    - 改进纹理缓存及数据集匹配处理
    - 日志记录改进
  • v1.3.0 :
    - 添加肖像眨眼动画,修改资源(by Laast)
    - 添加对话开始/结束及角色切换的淡入淡出效果
    - 主线任务对话结束时黑色淡出与立绘结束时机同步
    - 打开/关闭对话记录时自动隐藏及恢复头像
    - 防止快捷键重复输入
    -UObject 生命周期相关稳定性增强
    - 代码整理
  • v1.3.1 修复卡斯特拉默认图片错误
  • v1.3.2 :搭载紧急恢复模式(可选)
  • v1.4.0 :
    - 对话检测与恢复结构全面改进
    - 对话检测稳定性改进
    - 通过更改头像图像画布,改进ZOrder行为
    - 淡入淡出动作修正(次要)
    - 设置与数据清理(次要)
    - 肖像图片修改(次要)


⠀
⠀
要求

  • 龙剑:觉醒
  • UE4SS(任意版本)
对话立绘叠加层 v1.2.0(或更高版本)已配置为不绑定特定 UE4SS 版本。它会自动检测 Stable / Experimental 系列并进行适配运行。

稳定版构建 : UE4SS-RE v3.0.1 稳定版
实验性构建:最新版

UE4SS Experimental-lastest 构建可能会更改内部 API 或文件夹结构,因此在未经校验的未来构建中,其行为可能会有所不同或无法运作。

⠀
⠀
安装方法

  • 安装 UE4SS。(稳定版 v3.0.1 / 实验性最新版)
  • 解压对话头像叠加模组文件。
  • 对话立绘覆盖层 文件夹 当前安装的UE4SS的Mods文件夹复制到。
  • 正在启动游戏。
根据UE4SS版本不同,Mods文件夹的位置可能有所不同。例如:

稳定 / 一般配置:
龙剑觉醒/DS/Binaries/Win64/Mods/DialoguePortraitOverlay/

实验性配置示例:
龙剑觉醒/DS/Binaries/Win64/ue4ss/Mods/DialoguePortraitOverlay/
请务必安装到当前安装的UE4SS所使用的Mods文件夹中。
⠀
⠀
文件夹结构

对话头像叠加层/
├─ enabled.txt
├─ config.ini
├─ characters.ini
├─ VERSION.txt
├─ 图片/
│ └─ (角色图像文件)
└─ 脚本/
   ├─ main.lua
   └─ compat.lua
⠀
⠀
设置
⠀
config.ini - 自动布局

默认值是 AutoLayout=1是。Auto Layout 是当前画面的 高度以之为基准自动缩放图像位置和大小,因此即使分辨率和屏幕比例不同,也能保持与对话UI相匹配的相对位置和大小。

主要设置:

  • 自动布局=1:自动布局使用(0 或 1=使用)
  • 自动参考高度:自动布局的基准屏幕高度,无需修改
  • 自动X: 图像水平基准位置,图像水平锚点是 右端
    • 屏幕中央 = 0 以…为准
    • 负数 = 屏幕中央偏左
    • 正数 = 画面中央偏右
  • 自动Y:图像垂直基准位置,图像垂直锚点是 下端
    • 屏幕上方 = 0 以基准为准,值越大越向下移动
  • 自动高度:基准屏幕高度下的图像高度(修改高度时整个图像会缩放)
  • 自动宽高比: 图片宽高比(仅修改了宽高比)
    • 1.0 = 保持原始图片比例
    • 1.1 = 10% 更宽
    • 0.9 = 10% 窄

自动布局会读取PNG的实际尺寸来计算原始宽高比。因此,即使使用不同比例的图像,设定的高度(自动高度以)为基准自动计算横向大小。

⠀
config.ini - 手动布局

自动布局=0设置为该选项后,即可使用现有的 Manual Layout。

在手动布局中 屏幕坐标和图像坐标均以左上角(TOP-LEFT)为基准是。画面左上方 (0, 0)이며, X, Y表示图像的左上角位置。


  • 参考宽度,参考高度: 基准分辨率(游戏画面分辨率)
  • X,Y:图片左上角坐标位置
  • 宽度,高度以基准分辨率为基准的图像大小
  • 层级顺序: 输出顺序
  • 缩放模式:手动布局缩放基准(身高 或 宽度)
⠀
config.ini - 附加设置

性能

  • 轮询间隔毫秒: 对话说话者确认周期
    • 允许范围: 20-10000 毫秒
    • 数值越低,说话人切换检测可能越快,但根据用户环境不同,负载可能会增加。
    • 100~150推荐轻度。
  • 调试日志: 0 普通使用 / 1 详细日志
⠀
动画

  • 淡入启用:所有肖像淡出效果全局启用(1 = 使用 / 0 = 不使用)
  • 淡出时长毫秒:头像出现或消失时使用的淡入淡出时间
  • 淡出过渡毫秒:对话说话者变更时的淡出时间
  • 淡入过渡毫秒: 对话说话者变更时的淡入时间
    • 允许值: 0 或 50-500毫秒
    • 0设置为该选项时,将不仅使用普通淡入淡出效果。
  • 闪烁动画:使用拥有全部额外帧图像的角色眨眼动画(1 = 使用 / 0 = 未使用)
  • 闪烁最小秒数,闪烁最大秒数:眨眼执行前的随机等待时间范围
    • 允许范围: 1.0-60.0秒
    • 闪烁最长秒数는 闪烁最小秒数必须大于或等于。
  • 闪烁帧毫秒:眨眼动画帧间隔
    • 允许范围: 20-200 毫秒
  • 闪烁双击几率连续眨眼两次的概率
    • 0.25 = 25% / 允许范围: 0.0-1.0

没有额外眨眼帧图像的角色将和之前一样显示为静态立绘。动画设置可通过重新加载运行时配置来应用。
⠀
⠀
兼容性

  • UE4SS版本=0:自动检测(默认值)
  • UE4SS版本=1: 强制使用UE4SS v3.0.1稳定版适配器
  • UE4SS版本=2:强制使用实验性适配器
通常 0建议使用。此设置将在启动时应用。
⠀
⠀
快捷键
⠀
所有基础换弹快捷键 Ctrl 组合键是的。

  • Ctrl+PageUp: 角色.ini 运行时重新加载快捷键值
  • Ctrl+PageDown: config.ini 运行时重载快捷键值
角色重载键와 配置重载键는 config.ini의 [热键]可以在那里更改。Ctrl修饰键是固定的。

[热键]
角色装填键=PAGEUP
重新加载配置键=PageDown
A-Z、ZERO-NINE(数字)、F1-F24、PAGEUP、PAGEDOWN、HOME、END、方向键等当前 UE4SS 版本的 按键 可以使用表中提供的键名。错误的键名将恢复为该功能的默认值。

快捷键设置将在重启游戏/模组后生效。 Ctrl+ConfigReloadKey不会重新绑定快捷键本身。

⠀
⠀
角色.ini

[角色]
Lute=lute.png
鲁特琴=lute.png
格式:
对话窗口中显示的角色名=图片文件.png

英文名不区分大小写。(鲁特琴, 鲁特琴, 鲁特琴(以同名处理)
多种语言可以共用同名的PNG文件。
空行和 ;, #以该字符开头的行将被忽略。
当重复注册相同名称时,将使用最后有效注册的值。
错误的行只会跳过该行,而不会导致整个文件加载失败。

游戏运行中 角色.ini如果修改了,默认快捷键 Ctrl+PageUp可以用重新加载。无需重启。

⠀
⠀
注意事项

  • characters.ini仅对已注册的角色显示图片。
  • 实际的PNG文件是 图像 必须存在于文件夹中。
  • 如果没有PNG文件 UE4SS.log会记录相关内容。
  • 不会修改存档数据。
  • 游戏更新导致UI结构变更时,可能会影响功能运行。
  • 收集问题反馈日志时 调试日志=1可以使用。
⠀
⠀
删除方法
⠀
已安装 对话立绘叠加层 删除文件夹。
⠀
⠀
问题解决
⠀
一般问题确认时 config.ini按如下进行设置。

[性能]
调试日志=1
复现问题后 UE4SS.log请确认。

如果看不到已注册说话者的图像 Ctrl+0按一次可执行手动恢复。(但请勿连续按压)

⠀
⠀
特别鸣谢

  • UE4SS-RE
  • JPTHEHERO
  • 拉斯特 :眨眼功能及资产、创意与实现协助
  • Null993 : 提供多语言数据集

使用 Xmod 解锁 龙之剑:觉醒 的全部潜力 — 今天就探索这些顶级 MOD!