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

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

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


制作过程

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

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

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

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

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

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

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

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

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

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

然后编辑管理器脚本。

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

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

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

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

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

结果演示

来看一下最终效果吧。

对话系统测试-优香


小结

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

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


参考列表:

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

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

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

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

相关推荐
童话名剑20 分钟前
语音识别 与 触发词检测(吴恩达深度学习笔记)
笔记·深度学习·语音识别·触发词检测
在路上看风景41 分钟前
26. Mipmap
unity
一起养小猫42 分钟前
Flutter for OpenHarmony 进阶:Timer组件与倒计时系统深度解析
android·网络·笔记·flutter·json·harmonyos
试试勇气1 小时前
Linux学习笔记(十三)--动静态库
笔记·学习
小小逐月者1 小时前
SQLModel 开发笔记:Python SQL 数据库操作的「简化神器」
数据库·笔记·python
AI视觉网奇1 小时前
ue metahuman自动绑定实战
笔记·学习·ue5
tb_first1 小时前
万字超详细苍穹外卖学习笔记3
java·jvm·笔记·学习·spring·tomcat·maven
coldstarry1 小时前
sheng的学习笔记-AI-adaboost(Adaptive Boosting)
人工智能·笔记·学习
regret~1 小时前
【笔记】Nginx 核心操作 + 配置解析笔记(适配 Linux+FastAPI / 前端代理场景)
linux·笔记·nginx
牛马大师兄1 小时前
数据结构复习 | 单向链表
c语言·数据结构·笔记·链表