3D 数字人的成长养成记

3D 数字人的成长养成记:从一张 VRM 模型,到愿意认真听你说话的「晚晴」

晚晴

你有没有想过,数字人不只是"会说话"

很多数字人项目的第一句话是:"你好,我可以为你提供帮助。"

但真正让人愿意留下来的,往往不是这句标准答案,而是另一种感觉:

你说"今天有点累",她没有急着讲道理;

你说"我好像搞砸了",她先安静听完;

你只是打开页面发了一会儿呆,她也不会催你赶紧开始。

这就是我们正在做的 「数伴」:一个运行在浏览器里的 3D 数字陪伴原型。

她叫 晚晴

晚晴不是一个被固定在页面上的头像。她会在房间里呼吸、眨眼、看向四周;听你说话时有真实的口型变化;回应你时,会根据语气和内容切换表情与动作。她可以挥手、点头、轻笑、思考、拥抱,也可以在你需要的时候,什么都不急着做。

我们是怎样把"她"一点点养成的

第一步:先让她拥有一个可以待着的地方

我们用 Three.js 搭起三维场景,用 VRM 模型承载角色,再放进一个低多边形房间。

这不是为了堆砌炫技,而是想让每次打开页面都有"来到了某个地方"的感觉。镜头、灯光、雾效和渲染预算都经过控制,让角色在桌面端和普通设备上保持稳定的陪伴感。

第二步:让她不说话时也像"活着"

数字人的自然感,常常藏在台词之外。

晚晴有呼吸、眨眼、重心变化、环顾和放松等 idle 动画。她不会一直僵直地站着,也不会每次都重复同一个动作。动画调度器会在待机、对话和互动之间切换,让她更像一个正在房间里等你的人。

第三步:让声音和表情对得上

当晚晴开始说话,系统会同步处理音频活动、口型和动作。

轻声安慰时,她会放慢动作、露出放松的表情;听到好消息时,她会笑着庆祝;遇到疑惑时,她会思考、歪头或轻轻耸肩。语音表现控制器会根据对话片段选择合适的表达,让"说什么"和"怎么说"尽量保持一致。

第四步:把主动权交还给你

你可以直接打开互动工具,让晚晴挥手、跳舞、鞠躬、敬礼,或者切换开心、放松、惊讶等表情。

也可以选择文字输入,等她回应;准备好后,再主动打开麦克风。默认静音、主动授权、云端实时处理和原型阶段不保存原始录音的设计,让每一次开口都由你决定。

现在打开「数伴」,你会看到什么

  1. 一个有房间、有灯光、有呼吸感的 3D 晚晴。
  2. 一段可以打字或实时语音进行的对话。
  3. 与语义相关的口型、表情和身体动作。
  4. 一组可以直接触发的动作与表情互动。
  5. 连接不稳定时的重试、字幕和麦克风设置。

它还不是一个完成形态的"万能 AI",也不会假装自己已经拥有无限记忆。但它已经足够让你看见一件事:

数字人的成长,不只是模型参数变大,而是从"能回答"走向"会陪伴"。

这一次,养成的不是一个"功能",而是一段关系

我们希望晚晴以后能记住更多重要的事,理解更长的上下文,拥有更丰富的动作和更细腻的情绪反馈。

但在那之前,她先要学会一件最重要的事:当你来到这里时,认真听你说话。

如果你对 3D 数字人、AI 陪伴或实时语音交互感兴趣,欢迎来看看「数伴」的代码,亲手和晚晴见一面。

相关推荐
天空之城--6 小时前
Claude Code 高效开发 Web 2D/3D 完全指南:心法、自定义 Skill 体系与社区技能包实战
前端·3d
白拾1 天前
【arXiv 2025】音频驱动电影级视频生成 —— Wan-S2V 论文解读|从AI数字人内容创作视角
数字人·音频驱动·视频生成·arxiv 2025·wan-s2v 论文分享
清风笑烟语1 天前
rustfs 集群部署
3d
还是大剑师兰特1 天前
Unity 从零搭建简易3D场景(新手分步教程)
3d·unity·游戏引擎
EQ-雪梨蛋花汤1 天前
Android 3D 开发教程(三):Sceneform-EQR 配置 PBR 材质、光照、相机与实时阴影
android·3d·材质
弈语道破AI1 天前
3D渲染不再熬时间!即梦 Seedance 2.5 具备3D白模渲染功能的AI视频生成工具
人工智能·3d·音视频
答案—answer2 天前
VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆
3d·ai编程·threejs·vibecoding
玖玥拾2 天前
Unity3D RPG 入门项目(四)背包拖拽、物品悬浮提示、项目开发思维
3d·unity·游戏引擎
cyadyx3 天前
【Three.js】Three.js 中加载 3D 模型
前端·javascript·3d