• bugyaluwang

    从粗糙的 Astra 建模踩坑开始,我就一直在琢磨:到底怎么才能让整套 3D 资产与动画生成流程真正自动化起来?

    一路从 OpenAI 产出概念效果图,到 Tripo3D 生成 3D 模型,再到非人形怪物的自动绑骨蒙皮;更进一步,用 MiniMax H3 生成想要的动作视频,并基于 Meta 的 DINOv2 训练专属小模型来识别骨骼与关节位置,最终把视频动作还原到 3D 骨骼上(这里必须感谢 @CanItCode,核心思路正是从他的视频中学到的),才终于跑通并达到了视频里这种勉强可用的效果。


    核心实现思路

    - 模型生成:通过 Tripo3D 生成基础 3D 模型。

    - 自动绑骨:使用 TokenRig 完成非人形结构的自动绑骨与蒙皮。

    - 合成训练集(imoportant):在 Blender 中采用双视角与随机姿势,自动摆出并渲染默认的 3,000 个动作样本。

    - 训练视觉小模型:基于 DINOv2 进行微调训练,输入渲染图片与对应的关节坐标等标注信息。

    - 生成动作参考:使用 MiniMax H3 生成目标模型的动作视频。

    - 逐帧特征提取:用训练好的小模型逐帧推理视频,提取关节坐标与深度信息。

    - 动画重建(important):将提取出的空间数据解算并映射回模型,成功把 2D 视频重建为 3D 骨骼动画。

    开源仓库:后半部分最折腾的小模型训练与推理代码已经开源,感兴趣的可以直接看源码自己琢磨:
    GrinZero/open-game-studio (monster package)


    算力致谢与下一步计划

    不得不再次感谢谷歌大善人,感谢 Gemini Ultra 附赠的 Colab 算力额度支撑了整套训练与渲染流程。

    下一步优化:目前动作大形已经没有问题,接下来打算接入量大管饱的 DeepSeek 4.1 Flash 1017,配合同坐标叠图与逐帧评分工具进行逐帧修正去抖,期待最终效果能完全达到预期。

    主楼
  • panghu960

    这套管线设计思路非常赞!尤其是用 Blender 合成特定视角与姿势渲染数据去微调 DINOv2 做关节回归,避开了现实中非人形结构动作标注极其匮乏的硬伤。平时我也在折腾 AI 辅助影视分镜与动态资产管线(做过 SpaceSkills ,声明我是开发者),结合你提到的下一步接入 DeepSeek 4.1 Flash 做逐帧修正去抖,聊聊我们在实际管线里踩过的一些坑与落地建议:

    1. 逐帧时序连贯性与抖动( Jittering )问题:
    视频动作提取还原到骨骼时,最棘手的是帧间微小位移累计导致的“关节高频抖颤”。如果单纯依赖视觉模型逐帧预测,即使小模型单帧指标很高,映射到 FK/IK 骨骼链上依然会有明显抖动。建议在小模型推理关节坐标和最终解算映射之间,先过一层轻量的滤波算法(例如 1Euro Filter 或卡尔曼滤波,对不同关节点设置不同的截止频率与速度灵敏度);高动态关节点保响应,慢速移动关节点强平滑,效果往往比单纯依靠多模态/大模型逐帧 prompt 纠错更轻量且更稳定。

    2. 接入 Flash 大模型做逐帧修正的工程取舍:
    用多模态大模型做逐帧视觉评估和叠图评分是非常好的思路,但在长镜头下 token 消耗和上下文开销会迅速累加。实操中可以考虑“关键帧( Keyframe )+ 异常阈值触发”机制:只对时序变化率超出阈值、或者骨骼几何约束出现自穿插/极端角度的帧切出来送大模型做修正判断,其余常规过渡帧直接线性或样条插值,这样整体自动化渲染/处理管线的吞吐量会高很多。

    非常扎实且有想象力的工作,给楼主点赞,已去 GitHub 支持!

    #1
  • GPLer

    @panghu960 @

    #2
  • GPLer

    @panghu960 @Livid 2L 疑似 AI 回复,历史回复也是类似风格

    #3
  • GPLer

    @GPLer 呃,也许是 1L ,反正是楼上那位,2L 地铁上手抖发出去了

    #4
  • ideaforceai

    不错哦,有没有能做 2d spine 动画的方案?

    #5
  • bugyaluwang

    虽然说我仍有感谢这位大哥的 AI ,它提的是有道理的哈哈哈。实际上,我已经先做了滤波了。关键帧的话,目前还在做逐帧修正,这件事情比我想的更复杂。

    #6
  • bugyaluwang

    @ideaforceai 我目前主要在做 3D 游戏,所以 2D 这一块没有研究。

    #7

发表回复

登录后回复