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

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

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


制作过程

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

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

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

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

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

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

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

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

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

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

然后编辑管理器脚本。

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

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

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

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

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

结果演示

来看一下最终效果吧。

对话系统测试-优香


小结

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

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


参考列表:

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

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

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

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

相关推荐
承渊政道33 分钟前
【优选算法】(实战推演模拟算法的蕴含深意)
数据结构·c++·笔记·学习·算法·leetcode·排序算法
左左右右左右摇晃2 小时前
系统性能指标与损耗分析
笔记
悠哉悠哉愿意2 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
智算菩萨3 小时前
【OpenGL】6 真实感光照渲染实战:Phong模型、材质系统与PBR基础
开发语言·python·游戏引擎·游戏程序·pygame·材质·opengl
iThinkAi智能体3 小时前
1个运营带4个实习生,周产350篇笔记:小红书图文矩阵真的没那么玄乎
人工智能·经验分享·笔记
Yu_Lijing3 小时前
基于C++的《Head First设计模式》笔记——备忘录模式
c++·笔记·设计模式·备忘录模式
再玩一会儿看代码4 小时前
Java中 next() 和 nextLine() 有什么区别?一篇文章彻底搞懂
java·开发语言·经验分享·笔记·学习
Heartache boy4 小时前
野火STM32_HAL库版课程笔记-TIM通道输出应用之PWM实现呼吸灯
笔记·stm32·单片机·嵌入式硬件
张人玉4 小时前
上位机项目笔记
笔记·c#·上位机
暴躁小师兄数据学院5 小时前
【WEB3.0零基础转行笔记】go编程篇-第12讲:go-zero入门实战
开发语言·笔记·golang·web3·区块链