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

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

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


制作过程

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

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

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

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

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

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

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

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

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

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

然后编辑管理器脚本。

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

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

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

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

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

结果演示

来看一下最终效果吧。

对话系统测试-优香


小结

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

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


参考列表:

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

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

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

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

相关推荐
凉、介1 天前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化
njsgcs1 天前
SIMA2 论文阅读 Google 任务设定器、智能体、奖励模型
人工智能·笔记
孟无岐1 天前
【Laya】Component 使用说明
typescript·游戏引擎·游戏程序·laya
云半S一1 天前
pytest的学习过程
经验分享·笔记·学习·pytest
AI视觉网奇1 天前
ue5.7 配置 audio2face
笔记·ue5
绀目澄清1 天前
unity3d AI Navigation 中文文档
游戏·unity
崎岖Qiu1 天前
【OS笔记35】:文件系统的使用、实现与管理
笔记·操作系统·存储管理·文件系统·os
曦月逸霜1 天前
离散数学-学习笔记(持续更新中~)
笔记·学习·离散数学
hunter14501 天前
windows server AD域与CA部署证书
笔记
im_AMBER1 天前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法