开发笔记 | 实现人物立绘的差分效果

当这为了将人物的表情与动作更加贴近剧情,于情于理都不应该采用原来一个人物绑定一个立绘的方法。本篇文章将会实现人物立绘自定义的功能,来帮助实现人物立绘的差分效果。

视觉小说对话系统系列:篇一篇二


制作过程

上一篇开发笔记中,我们使用观察者模式来管理对话音频管理器,通过让用户自定义音频的方式来添加内容。那么在立绘的更新上我们依旧可以采取这样的方式,让用户来决定什么时机更换什么立绘。

我这里准备了优香的插画立绘集,所以按照之前的步骤调整场景(我依旧小写了一段故事ᕕ(◠ڼ◠)ᕗ)。

然后准备好为师写的这段还算精彩的对话ᕕ(◠ڼ◠)ᕗ。

在Unity中将背景与立绘调整至合适的位置,按照之前的说明对应好人物。

编写一个观察者的接口用来统一操作。

同时将之前主题类(DialogueManager)所维护的观察者更新为观察者列表。

然后编写立绘管理器脚本TachieManager(之前用的是Portrait,但似乎Tachie才是正确的),继承MonoBehaviour和刚刚的接口。

在正式编写脚本内容之前,我们需要把原先更新立绘的方法给删除掉,这些方法和对话的更新杂糅在一起,可维护性非常差。

而且目前我们的Character类的功能只有对应立绘,所以我们可以暂且把Character列表注释掉。

同上次的音频对话类一样,我们建立一个TachieDialogue类,用来其中要包含对话的索引、立绘、是否打开阴影的成员。

然后编辑管理器脚本。

同样,我们维护一个对话立绘列表,方便用户操作。同时添加更新编辑器元素的生命周期方法。

按照对话的条数输入元素数量。默认元素几就对应对话行索引几,按照我们的想法依次拖入立绘。

加上立绘更新的语句,这样一来角色的变化就成功实现了。

然后之前的人物类就可以改成这样,因为存在主人公这样的没有立绘的角色,不能显示头像。

在检查器中一一对应调整好,我们的人物立绘的差分效果就完成了。

结果演示

来看一下最终效果吧。

对话系统测试-优香


小结

按照惯例,我同样在github上发布了对话系统最新的导出包,导入进Unity即可查看源文件以及使用这个对话系统,点击即可进入github页面进行下载哦。

如有补充交流欢迎留言,我们下次见。


参考列表:

语音:GPT-Sovits V4推理特化一键包(bilibili):BV1j7TszYE27

GPT-Sovits开发者:@花儿不哭

模型训练者:@红血球AE3803 @白菜工厂1145号员工

立绘:优香 -睡衣-(ユウカ)(bilibili图文):@小沫不是末

相关推荐
点心的游戏开发世界4 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 32
spring boot·笔记·后端
鱼子星_6 小时前
【C++】继承和多态(上)
c++·笔记
xian_wwq6 小时前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
策案案案8 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
啵啵啵鱼11 小时前
DS-顺序表
java·数据结构·笔记·后端·链表·obsidian
xian_wwq12 小时前
【学习笔记】深度认知系列-第13讲AI Agent时代到来——从“回答问题”到“执行任务”
人工智能·笔记·学习
程序猿炎义12 小时前
【llm-algo-leetcode学习笔记】量化优化手段
笔记·学习
xian_wwq12 小时前
【学习笔记】深度认知系列- 第15讲 AI算力战争——GPU、光通信与太空数据中心
笔记·学习
雨田言炎12 小时前
2026/9/5 C复习笔记(一)
c语言·笔记