下载 App

《求积分》星际歌姬:自研动画编辑器,一人量产128+角色

修改于04/28260 浏览
一句话介绍
星际歌姬是一款以大规模角色养成为核心的音游 RPG。为了解决"一个人怎么做出上百个活生生的角色"这个问题,我们没有选择接入 Spine 或 Live2D,而是从零搭建了一套引擎内置的 2D 网格变形动画编辑器
未发布项目对话链接:TapTap 制造
horizontal linehorizontal line
为什么要自己做编辑器?我们的设计目标是 4 体型 x 8 气质 x 4 音色 = 128+ 角色模板。如果用传统流程(切图 → 外部编辑器布点 → 绑骨 → 导出 → 导入引擎 → 联调),单个角色保守估计 4-8 小时。128 个角色就是 500-1000 小时,一个人全职干也要半年。所以我们换了个思路:把编辑器直接做进引擎里,把手工活交给算法。结果:单个角色从切图到动画完成,平均 10 分钟。128 个角色 = 21 小时 = 3 天搞定。(这是塔拉拉说的,其实不可能真的三天,还要修图什么的。这是她自己夸自己的。。)
horizontal linehorizontal line
编辑器有什么功能?
1. 十层图层系统角色被拆分为 10 个图层:后发 → 人偶 → 身体 → 脖子 → 头 → 衣服 → 中发 → 眼睛 → 眉毛 → 前发。每层独立控制可见性、不透明度、网格和动画轨道。头发分三层(前/中/后),自然地穿插在脸部和衣服之间,不需要手动处理遮挡关系。
2. 智能自动网格生成这是我最得意的部分。传统编辑器需要美术手动在图片上一个点一个点地布网格,我们的做法是:
  • Alpha 通道扫描:自动检测图片中有内容的区域
  • Delaunay 三角化:Bowyer-Watson 算法自动生成高质量三角网格,无退化三角形
  • 透明三角形过滤:自动剔除完全透明的区域,减少无效顶点
  • 区域笔刷:拖拽范围内的顶点,权重按距离平滑衰减 (1-(d/r)^2)^2,过渡自然,不会出现硬边
  • 选区拖动:先框选一批顶点,然后整体刚性平移,适合调整五官位置
  • 单点移动:十字准星精确锁定最近的单个顶点,做最后的微调
  • 区域笔刷:拖拽范围内的顶点,权重按距离平滑衰减 (1-(d/r)^2)^2,过渡自然,不会出现硬边
  • 选区拖动:先框选一批顶点,然后整体刚性平移,适合调整五官位置
  • 单点移动:十字准星精确锁定最近的单个顶点,做最后的微调
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 区域笔刷:拖拽范围内的顶点,权重按距离平滑衰减 (1-(d/r)^2)^2,过渡自然,不会出现硬边
  • 选区拖动:先框选一批顶点,然后整体刚性平移,适合调整五官位置
  • 单点移动:十字准星精确锁定最近的单个顶点,做最后的微调
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 10 条并行轨道,每层独立
  • 关键帧 = 时间点 + 全部顶点位置快照
  • 线性插值平滑播放,支持播放/暂停/拖拽时间轴
  • 每层有独立的轨道开关,方便单独预览某层的动画效果
  • 区域笔刷:拖拽范围内的顶点,权重按距离平滑衰减 (1-(d/r)^2)^2,过渡自然,不会出现硬边
  • 选区拖动:先框选一批顶点,然后整体刚性平移,适合调整五官位置
  • 单点移动:十字准星精确锁定最近的单个顶点,做最后的微调
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 10 条并行轨道,每层独立
  • 关键帧 = 时间点 + 全部顶点位置快照
  • 线性插值平滑播放,支持播放/暂停/拖拽时间轴
  • 每层有独立的轨道开关,方便单独预览某层的动画效果
  • 笔刷式框选(扫过即选中)+ 擦除笔刷(扫过即取消选中)
  • 选区锁定:锁定后这些顶点不受笔刷影响,用来保护已经调好的区域
  • 锁定状态下笔刷拖拽时,锁定点会刚性跟随(保持间距不变),不会被撕裂
  • 10 条并行轨道,每层独立
  • 关键帧 = 时间点 + 全部顶点位置快照
  • 线性插值平滑播放,支持播放/暂停/拖拽时间轴
  • 每层有独立的轨道开关,方便单独预览某层的动画效果
  • 10 条并行轨道,每层独立
  • 关键帧 = 时间点 + 全部顶点位置快照
  • 线性插值平滑播放,支持播放/暂停/拖拽时间轴
  • 每层有独立的轨道开关,方便单独预览某层的动画效果
  • 编辑模式用 NanoVG(CPU 矢量渲染):方便绘制网格线、顶点手柄、笔刷光标等编辑器 UI
  • 生产模式用 CustomGeometry(GPU 批渲染):10 层角色只需 6 个 draw call
    → 分类:4 角全有 = 内部 / 0 角 = 空 / 1-3 角 = 边界
    → Delaunay 三角化
    → 过滤透明三角形
    → 完成
总采样次数约 4000 次 GetPixel,对比逐像素扫描的 26 万次,快了 65 倍。笔刷衰减函数w = (1 - (d/r)^2)^2
这个函数在中心 w=1,边缘 w=0,而且一阶导数在边缘也是 0,所以过渡非常平滑。比线性衰减 1-d/r 自然得多,也比高斯衰减计算量小。
当前进度
  • [x] 10 层图层系统 + 三层头发
  • [x] Alpha 四角采样自动网格生成
  • [x] Delaunay 三角化
  • [x] 三种笔刷子模式(区域/选区拖动/单点)
  • [x] 选区系统(框选/擦除/锁定)
  • [x] 多轨道时间线动画
  • [x] 双渲染管线(编辑 NanoVG / 生产 CustomGeometry)
  • [ ] 参数化方向变形(angle_x: 正面 ↔ 侧面)
  • [ ] 批量角色模板生成
  • [ ] 换装系统
最后它是一个独立开发者面对"128 个角色"这个现实问题时,被逼出来的解决方案。核心理念很简单:能让算法干的活,就不要让人干。如果你也在做需要大量 2D 角色动画的项目,欢迎交流。
猜你想搜
taptap 制造区域笔刷功能
01:27
《大二暑假,我用AI做了一款属于自己的游戏》截图
《大二暑假,我用AI做了一款属于自己的游戏》
本人自制游戏现已加入taptap封闭测试(仅适配安卓机型)欢迎大家前来尝试(八月十号可以正式开始游玩) 如果有建议或者bug反馈可以加入qq群928501443 #发现好游戏 #游戏日常 #浅评一下 #今天游戏圈发生了啥
3 赞
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
35 赞
6 回复
嗯,真的,随便了(并不是什么下台阶)截图
嗯,真的,随便了(并不是什么下台阶)
只是觉得,为以前这样让朋友推荐这个平台的我,感到。。。无所谓了。你们喜欢吧。
1 赞
3 回复
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
68 赞
21 回复
01:13
【游戏自荐】《王朝崛起》——一个人做的2D骑马砍杀,但真的上头截图
【游戏自荐】《王朝崛起》——一个人做的2D骑马砍杀,但真的上头
略沙盒,玩法硬核,还在修bug,但真的上头 先声明:我不是托,是开发者自己来安利的。如果你喜欢《骑马与砍杀》那种从零拉起部队、跑商、招降将领、攻城叛变的玩法,那这款游戏大概率会对你的胃口。 一、这游戏玩什么? · 超大的2D沙盒地图:64座城市 + 128个村庄,四大势力割据,满地图的蛮族部落。· 动态世界 & AI:AI势力之间会自己宣战、结盟、叛变;武将忠诚度低了会自立为王,最多能冒出8个新势
10 赞
7 回复
00:48
我做了一款哥特风像素射击游戏|《失落庭院》实机演示截图
我做了一款哥特风像素射击游戏|《失落庭院》实机演示
序列帧实在是太好丸辣! 一直想做哥特风的游戏哈哈,目前做了三把武器,三个怪物和两个房间,不知道有生之年能不能做完😭
11 赞
7 回复
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
01:42
【创作资源申请】————【迷雾世界】截图
【创作资源申请】————【迷雾世界】
========= 已实现的功能 ========== (可观看上面那个,目前项目的试玩视频) 游戏已实现全3D斜俯视角场景,支持三档缩放和视角旋转。核心战斗系统完成,包含流场寻路、空间网格索敌、子弹飞行与落点结算、多编队指挥、阵型密度切换。单位系统支持数百级同屏渲染,使用CustomGeometry合批绘制实现低DrawCall。物理层采用纯数据驱动的软分离与拥堵检测机制,无需刚体碰撞。时间系统
9 赞
4 回复
如何提升你游戏中的UI美术水平截图
如何提升你游戏中的UI美术水平
一、请为你的游戏挑选一款合适的字体 很多开发者没有注意到其实UI界面中最重要的元素是字体,一款合适的字体能给整个游戏的界面感官带来蜕变。 请看案例 那么如何挑选适合自己的字体呢? 我总结出了一些小经验可供参考: 黑体:通用 宋体:古风、武侠、修仙 楷体:古风、武侠、修仙 圆体:卡通、动漫、Q版 科技:科幻、未来、电子 顺手分享一个免费可商用字体网站: 当然 如果你不知道自己的游戏适合什么风格
精华
123 赞
44 回复
00:26
塔啦啦科研:三渲二(风格1)截图
塔啦啦科研:三渲二(风格1)
最近在研究像素风格的三渲二,一直想做小丑牌那种风格,但是塔啦啦一直做不出来,发现是有一部分的功能做不了,只能实现简单的材质制作和描边,因此,我从零直接搭建了一整套引擎基础。目前进度可以看视频。 @嗒啦啦 什么时候出shader 评论区随意提问 #TapTap制造 #TapTap制造社区 #TapTap制造
4 赞
5 回复