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

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

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


制作过程

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

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

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

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

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

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

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

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

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

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

然后编辑管理器脚本。

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

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

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

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

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

结果演示

来看一下最终效果吧。

对话系统测试-优香


小结

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

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


参考列表:

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

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

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

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

相关推荐
在路上看风景2 小时前
4.6 显存和缓存
unity
risc1234562 小时前
只身走过多少的岁月,弹指一梦不过一瞬间
笔记
小陈phd2 小时前
多模态大模型学习笔记(一)——机器学习入门:监督/无监督学习核心任务全解析
笔记·学习·机器学习
崎岖Qiu2 小时前
【计算机网络 | 第九篇】PPP:点对点协议
网络·笔记·计算机网络·ppp
听麟3 小时前
HarmonyOS 6.0+ PC端虚拟仿真训练系统开发实战:3D引擎集成与交互联动落地
笔记·深度学习·3d·华为·交互·harmonyos
一个人旅程~3 小时前
我存在吗?你存在吗?
笔记·程序人生·电脑·ai写作
xqqxqxxq3 小时前
Java IO 核心:BufferedReader/BufferedWriter & PrintStream/PrintWriter 技术笔记
java·笔记·php
第七序章4 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
-Springer-4 小时前
STM32 学习 —— 个人学习笔记5(EXTI 外部中断 & 对射式红外传感器及旋转编码器计数)
笔记·stm32·学习
Zik----5 小时前
简单的Unity漫游场景搭建
unity·游戏引擎