利用 Seedance,生成游戏人物攻击循环逐帧动画
文章目录
在 从一张图到 SpriteSheet:AI 自动生成 2D 精灵动画实操 这篇文章中,我介绍了使用 AI 对 2D SpriteSheet 进行抽帧的算法基础,也开源了一个 Skill。
本篇文章介绍曾老师团队正在开发的游戏中,一个标准的人物攻击动画素材的创造过程。
工具需求
本文使用的工具是曾老师团队的内部工具 SORB。
- 图像模型:
gpt-image-2 - 视频模型:
doubao-seedance-2.0 - 动画工具:SORB 序列帧工具
关于动画工具的核心逻辑,可以阅读这篇文章: 从一张图到 SpriteSheet:AI 自动生成 2D 精灵动画实操。
扔瓶子的人
使用生图模型生成主体人物,使用 #00FF00 背景色,不生成任何形式的阴影。SORB 已经整合了大量工具用于抠图和幕布扩展生成。
为什么要使用幕布扩展功能呢?
在生成视频的时候,如果背景只比主体大一点,最终生成的动作可能会超出画面。这样在抠图生成逐帧动画时,就无法得到完整动作。
使用下面的提示词制作人物动画:
1固定镜头,一位身穿黑色夹克和工装长裤的男性背对镜头,采取预备投掷姿势,画面为完美的无缝循环序列。
2
3右臂向后上方大幅度蓄力,**右手紧紧抓握住啤酒瓶的瓶颈,瓶体重心向后倾斜**,展现出符合真实生物力学的高张力爆发前摇。
4
51)**掷出与消失机制(核心动作)**:他右臂猛烈向前挥动,手腕发力将啤酒瓶带有强烈旋转感地掷出。**关键约束:在啤酒瓶脱离手掌的瞬间,瓶子必须立刻从画面中完全消失**,绝对不要产生任何飞行轨迹、落地或碎裂画面,以确保动作干净利落地完成无缝循环。
62)**衣料物理动态(Clothing Physics)**:动能从下盘爆发,后脚蹬地。力量沿躯干向上传递,黑色夹克的背部与右肩区域在挥臂发力的瞬间,产生极其强烈的紧绷感与顺向的布料拉扯褶皱。
73)**重心与次级运动**:上半身因全力向前挥臂,带动夹克下摆与袖口随物理惯性大幅度向前方甩动扬起,随后迅速且自然地回落。左臂顺势摆动以维持平衡,展现出真实的重力反馈与厚重的打击力量感。
8
9## 硬性细节约束
10
11* 不要修改背景颜色,保持背景颜色为纯绿幕 #00FF00
12* 啤酒瓶脱手后必须立即消失,不能有任何拖尾或残影
13* 不要增加任何形式的阴影效果,绝对不要生成任何形式的烟雾
14* 人物衣物边缘及啤酒瓶与背景之间有绝对清晰明确的边界
生成视频如下:
我是那个瓶子
生成瓶子被扔出去的动画:
1使用 @图像1 制作瓶子旋转的动画。
2
3极端的后方低角度追踪镜头(Low-angle rear tracking shot)。摄像机紧紧跟随在啤酒瓶的正后方偏下位置,视线从瓶子底部(Beer bottle base)向前延伸。
4在整个动画中,瓶底始终占据画面的中心和主体地位,瓶身由于透视关系向画面深处延伸并变窄。瓶子以瓶底为轴心,向着屏幕内部(Z 轴深处)快速飞出。
5镜头与瓶子保持静止。
6
7- 画面中 **不要** 出现瓶子之外的任何物体。
8- 确保所有画面中的一切细节完全保持一致:摄像机角度、焦距、光影、背景以及色调。
9- **不要** 增加阴影。
生成瓶子如下:
生成循环逐帧动画
从视频生成游戏中的逐帧动画,有两个核心点:
- 为了节省内存,游戏中的逐帧动画大部分都需要循环播放。只有找到循环用的动作关键帧,才能在帧数尽量少的前提下,保证动作尽量流畅。
- 要把绿幕抠得足够干净。
SORB 实现的算法,已经可以将绿幕抠得非常干净了。这里讨论一下关键帧的问题。
我曾经尝试过使用视频理解模型(例如 doubao-seed-pro-2.0)对视频进行理解抽帧,但尝试下来发现这是个糟糕的方案,原因如下:
- 视频理解模型本质是将视频抽帧成图像,然后调用大模型的图像理解能力,分析视频的节奏。但提供的抽帧频率有限,例如
doubao-seed-pro-2.0提供的帧率是 0.2~5。这样的帧率无法满足流畅动作的需要。 - 由于抽帧率过低,视频理解模型无法理解一个快速动作的循环,因此也难以拿到合适的循环动作关键帧。
当下较好的办法是使用 OpenCV MSE 抽帧,MSE 的具体算法原理已经在 从一张图到 SpriteSheet:AI 自动生成 2D 精灵动画实操 一文中详述。
主体感知循环检测
视频生成后,使用主体感知循环检测,指定一段循环视频的时长和想要抽取的总帧数,算法会自动抽帧并抠图。
人肉抽帧节省尺寸
自动抽帧之后,为了进一步节省资源,需要用人肉的方式选一遍可用帧,将重复帧排除在外。下载时会保留完整的循环关键帧,并自动合图。
至此,一个完整的循环动画就制作成功了。在这个过程中,不需要美术参与。
抖起来
下面来到广大游戏用户喜闻乐见的环节。看看在生成视频的过程中,都碰到了哪些莫名其妙的 Bug。
当然,这些视频涉及到多个生成模型,不一一点名了。
- 文章ID:2879
- 原文作者:zrong(Jacky)
- 原文链接:https://blog.zengrong.net/post/seedance-game-character-attack-loop-animation/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。