原文拆解了从 AI 生成角色到视频驱动骨骼动画再到游戏引擎调用的完整四步流程,并给出单段 5 秒视频生成约 0.26 美元的成本参考。
用 AI 生成一条巨龙,再让它在游戏里听你的指挥:按空格起飞,按攻击键挥爪,还能在空中盘旋、俯冲!
现在有人把其中一个最麻烦的环节做成了开源项目:让 AI 生成的视频变成真正可以在游戏里使用的 3D 骨骼动画。
这个项目叫 anymove,已经展示了巨龙起飞、恶魔挥动翅膀、蜘蛛扑击、狼奔跑等效果。
我研究了一下它的工作流程,确实很有意思。
第一步:AI 生成 3D 角色。
先用 FLUX 3 生成角色图片,再交给 Tripo H3.1 转换成带纹理的 3D 模型。
接着在 Blender 中给模型添加骨骼、设置关节、完成蒙皮。比如一条龙,需要给四肢、翅膀、尾巴分别设置骨骼。
做到这里,我们已经拥有一条带骨架的 3D 巨龙,但还缺少飞行、奔跑、攻击这些动作。
第二步:让 AI 视频模型表演动作。
这时候 MiniMax H3 Max 登场了。
输入一段文字,比如「巨龙展开翅膀,腾空起飞」,让模型生成这条龙的动作视频。
有意思的是,它会在同一个视频画面中,同时展示巨龙的正面和侧面动作。
为什么需要两个视角?
因为我们要知道每个关节在三维空间中的真实位置。正面提供左右位置,侧面提供前后位置,再结合高度,就能还原出 3D 运动轨迹。
第三步:从视频中提取骨骼动画。
这里用到了 Meta 的 DINOv2 视觉模型。
开发者先用 Blender 生成约 2200 组带有准确关节数据的训练姿势,对 DINOv2 进行微调,让它学会识别这条龙的各个关节。
接下来,DINOv2 逐帧识别视频中每个关节的位置。
anymove 则负责把两个视角的关节坐标还原成三维运动数据,再将这些动作拟合到前面已经制作好的骨架上。
最后通过 Blender 导出包含骨骼动画的 GLB 文件。
第四步:把动作放进真正的游戏。
这一步才是我觉得最值得期待的地方。
假设我们已经为同一条龙制作了起飞、飞行、降落、挥爪、咆哮等不同动画。
把这些动画导入 Unreal、Unity 或 Godot,再通过游戏引擎的动画状态机和控制代码,就能让玩家操作这条龙:
按空格,播放起飞动画,巨龙升空。
按方向键,控制巨龙飞行方向,同时播放对应的飞行动画。
按鼠标左键,巨龙挥爪攻击。
按鼠标右键,播放喷火动作,同时由游戏引擎生成火焰和伤害效果。
这里的关键是,anymove 负责提前制作动作,游戏引擎负责根据玩家操作选择、衔接和播放这些动作。
玩家不需要每按一次键,就重新调用 AI 生成一次视频。
更让人感兴趣的是成本。
根据项目公布的数据,用 MiniMax H3 Max 生成一段 5 秒的双视角动作视频,大约只要 0.26 美元!
当然,这只是视频生成费用。新角色首次制作还需要建模、绑骨、蒙皮,以及训练关节识别模型。项目目前对蜘蛛的八足行走等复杂动作也还处理得不够好。
但一旦角色、骨架和识别模型准备好了,就可以尝试不断生成新的动作,再由 anymove 转换成可用的骨骼动画。
想想这对独立游戏开发意味着什么。
以前制作一款 3D 游戏,一个人或许能做出几十种不同的怪物模型,但要让每只怪物都拥有自然的奔跑、跳跃、攻击、受伤和死亡动画,工作量可能非常惊人。
现在 AI 已经逐步进入角色设计、3D 建模、骨骼绑定和动画制作的各个环节。
我觉得真正令人兴奋的前景,是一个人也有机会制作出拥有几十种怪物、上百套动作,而且能够真正交互的 3D 游戏。
这条工作流距离完全自动化还有不少问题要解决,但 anymove 已经把其中非常关键的一环做成了可以实际运行的开源工具。
项目地址见回复 https://x.com/rehan_shei/status/2115003471015588021/video/1
来源:黑箱之外 · x.com