[控场AI]
· 5 分钟阅读· 2,555 字

3D动作转2D骨骼:开源工具实测,一套动画全角色通用

3D动作转2D骨骼:开源工具实测,一套动画全角色通用

B站UP主开源工具,将3D骨骼动画转2D并内置AI角色生成,可导入Cocos预览。

一位B站UP主开源了一套将3D骨骼动画自动转换为2D骨骼动画的工具,并内置基于GP Image R的AI角色生成流程,让没有骨骼动画经验的开发者也能快速产出可用的2D角色动画。其核心思路是先借助Mesh to Motion生成3D动作,再“降维”映射为2D骨骼数据,从而让同一套动作复用在不同角色上,降低制作成本。角色生成端只需填写画风与设计描述、选择头身比例即可出图。完整流程分四步:生成并构建角色、整理PNG与JSON文件目录、回主页刷新并导出Cocos、在Cocos中用龙骨组件预览。工具已在GitHub开源免费,但目前存在手臂图层错位和文件整理偏手动的问题,作者承诺后续修复与简化。

一位B站UP主开源了一套工具,能将3D骨骼动画自动转换为2D骨骼动画,并内置AI角色生成流程,让没有骨骼动画经验的开发者也能快速产出可用的2D角色动画。据其演示,生成后的动画可导入Cocos引擎,通过龙骨组件直接预览,且同一套动作数据能适配不同角色。

从3D到2D:骨骼动画的“降维”思路

传统2D骨骼动画需要手动绑定骨骼、刷权重、调关键帧,对新手门槛不低。这套工具的核心思路是:先利用Mesh to Motion生成3D骨骼动画,再将其转换为2D骨骼数据。UP主在视频中坦言自己“手餐不会做骨骼动画”(原话为“首餐不会做骨骼动画的我”),正是借助AI完成了从3D动作到2D骨骼的转换。

这种“降维”做法的价值在于复用:3D动作数据一旦生成,就能批量映射到不同2D角色上,减少重复劳动。对于独立开发者或小团队,这相当于用一套动画资产覆盖多个角色,显著降低制作成本。

骨骼动画(Skeletal Animation)的核心思想是用一组层级化的“骨骼”驱动网格顶点变形:每根骨骼带有旋转、位移等变换,顶点通过“蒙皮权重”绑定到一根或多根骨骼上,骨骼运动时顶点按权重加权跟随,从而产生自然的肢体弯曲等形变。2D骨骼动画(如 Spine、龙骨 DragonBones 的格式)把骨骼与插槽、图片附件组织在二维平面上,适合手游与网页端;3D骨骼动画则包含三维空间的关节层级与体积变形。二者数据结构的差异,正是“3D 转 2D”需要做坐标投影、骨骼层级扁平化与关键帧重采样的原因。

Mesh to Motion 是借助网格(Mesh)形变来估计或生成骨骼运动的一种思路:先得到角色网格在各帧的变形,再反推驱动这些变形的骨骼变换与权重。相比纯关键帧手 K,它能从视频或已有动作数据中自动获得骨骼动画,适合作为“动作来源”,再经转换落到2D骨骼体系里。

AI角色生成:提示词内置,画风自由填

工具的另一大模块是AI角色生成。UP主集成了GP Image R(视频中提及的AI绘图模型),并内置了角色木板提示词,用户只需填写角色画风和角色设计描述,即可生成对应角色。生成界面支持选择头身比例,例如“2倍”对应Q版角色,方便统一风格。

从GitHub下载后解压双击进入工具

实际操作中,用户需要输入GP Image R的API地址和密钥。UP主提到自己使用的是中转API,同样可以正常工作,这为没有官方API权限的用户提供了替代方案。

GP Image R 属于文生图/图生图类扩散模型服务,用户通过 API 地址与密钥调用。文中提到的“中转 API”是指第三方搭建的代理转发服务:它把请求转发到官方接口并回传结果,通常按量计费、门槛更低,但稳定性和合规性取决于中转方。对于拿不到官方配额的用户,这是常见替代方案。

头身比例是角色设计的基本参数,指头部高度与全身高度的比值。写实风格通常在 1:6 至 1:8,Q 版(chibi)可到 1:2 至 1:3。工具里把比例做成可选档位(如“2 倍”对应 Q 版),是为了让批量生成的角色保持统一比例,避免后续 2D 骨骼绑定与动作映射时出现尺度不匹配。

提示词(Prompt) 在这里分两层:内置的“角色模板提示词”固定了构图、姿态、透明背景等工程化要求,保证输出可直接用于骨骼切片;用户只需补充画风与角色设计描述,降低了使用门槛。

四步上手:从生成到导入Cocos

整个流程可以拆解为四个步骤,UP主在视频中做了完整演示。

第一步:生成角色并构建

在AI工作室填写提示词后生成角色,调整头身比例,然后点击“构建”。据演示,生成完成后点击“构建”,填写角色名称,再点击“预览”确认效果。

生成好后点击构建

第二步:整理文件目录

构建并下载后会得到两个文件。UP主说明:将PNG图片放入“Outside”文件夹下的“AI”文件夹(需在“Side”文件夹下创建“AI”文件夹),JSON文件则放入“Side”文件夹。

JSON放进Side文件夹里

UP主也提到当前流程“有点麻烦”,后续会做简化。

第三步:回到主页刷新并导出

回到工具主页刷新后,能看到AI生成的角色出现在列表中。点击“导出Cocos”,会下载三个文件。

第四步:导入Cocos并预览

在Cocos中创建一个空Node,添加龙骨组件,将导入的文件放入龙骨组件,选择动画后即可预览。

创建一个空Node然后添加龙骨组件

UP主指出,当前导出后手臂图层存在错位问题,但表示后续会修复。

Cocos 龙骨组件是 Cocos Creator 中用于播放 DragonBones 格式骨骼动画的组件:它读取骨骼数据(JSON)与贴图集,按插槽顺序逐层绘制附件,并按时间轴播放动画。文中“手臂图层错位”属于典型的图层/插槽顺序(z-order)与锚点偏移问题——2D 骨骼动画靠插槽的绘制顺序决定遮挡关系,若转换时手臂附件相对骨骼的局部坐标或排序与原始设计不一致,就会出现手臂盖住身体或偏移的情况;这类问题通常在数据转换阶段修正附件变换与插槽层级即可解决。

开源与适用场景

该工具已在GitHub开源,免费使用,下载后解压双击网页即可进入工具界面。UP主将链接放在评论区,降低了获取门槛。

从适用场景看,这套方案适合快速原型验证、独立小游戏开发、以及需要批量生成角色动画的轻量级项目。不过需要注意两点:一是手臂图层错位问题尚未修复,对精度要求高的项目需谨慎;二是文件目录整理流程目前偏手动,UP主已承诺简化。

整体而言,这套工具把3D动作数据、AI角色生成和2D骨骼动画串成了一条流水线,虽然细节上还有打磨空间,但为缺少动画制作能力的开发者提供了一条可行的捷径。

#3D转2D骨骼动画#开源骨骼动画工具#AI角色生成#Cocos龙骨动画#Mesh to Motion#GP Image R#2D骨骼动画制作
分享:

相关推荐