Orbit 的像素动画制作管线
独立制作 Orbit 时,我缺少绘画能力,也无法持续投入大量时间逐帧绘制。我摸索了一条由 AI 生成、人工选取与修整、Unity 接入组成的管线,已经用于主角 Aurorax 与生物素材制作。
这条管线首先服务于操作反馈:玩家执行动作后,需要看见相应表现;不同动作也需要自然衔接。我负责动作设计、候选筛选、关键帧与游戏内验收。
- 01设计行为动作清单与切换条件
- 02确定形象MidJourney 设定图
- 03生成动作updream 参考动画
- 04人工选帧剪映等剪辑工具
- 05像素化pixelater 批处理
- 06逐帧修整Aseprite 对齐与调速
- 07接入游戏Unity Animator 与实机测试
形象参考、人工选帧、逐帧修整与游戏内验证,分别控制外观一致性、动作表达和实际可用性。
01 / 行为设计与形象参考
以 Scalix 为例,我先在生物设计文档中描述其攀爬、缓降、观察等行为,以及这些行为与玩家探索的关系,再准备形象提示词。随后在 MidJourney 的多视角候选中筛选参考图。
后续动作沿用选定形象,避免角色外观随动画变化。
02 / 参考动画生成与筛选
基于参考图,用 updream 生成待机、移动、跳跃、受击等短动画。提示词需要约束额外肢体、特效和环境:游泳动作不应自带一片水面,跳跃也不能让耳朵等部位离开画面。
我检查动作是否清楚、轮廓是否完整、朝向能否与其他动作衔接。候选不合格就继续调整,而不是把问题留到最后接入时才发现。
03 / 关键帧选择
先去掉生成视频的冗余片段,再按姿态变化挑选关键帧。像素化会削弱细微变化,因此我优先保留能表达动作阶段的画面,并预览整组帧的连贯性。
对跳跃等影响落点判断的动作分配更多打磨;对于重复循环的动作,控制帧数与制作负担。选好首尾帧,也能减少待机、起跳和落地之间的切换闪烁。
我怎样决定哪里值得多做几帧?动作节奏与帧数取舍
先看玩家在这个动作中注意哪里。跳跃时,角色姿态、跳跃高度与前方落点都参与判断,应更细致地处理;循环动作则根据可读性选择合适的帧数。
逐帧动画还可以通过每帧停留时间表达蓄力、起跳和落地。制作时需要同时判断姿态与节奏。
04 / 像素化与逐帧修整
用 pixelater 将选定帧转为像素形式,再在 Aseprite 中抠除背景、清理杂色、对齐位置,并调整帧时长与动作标签。生成阶段的形象一致性,要继续落实为每一帧的可读性。
| 检查到的问题 | 处理所在环节 |
|---|---|
| 角色出框、缺肢体或混入环境 | 回到动画生成环节调整候选。 |
| 关键姿态不清楚、动作不连贯 | 重新挑帧,并预览整组动作。 |
| 背景残留、杂色、角色位置漂移 | 在 Aseprite 中逐帧清理、对齐。 |
| 动作切换闪烁或节奏不合适 | 检查衔接帧、帧时长与游戏内状态切换。 |
05 / 动画状态与游戏内验证
制作 Animator 前,我先定义动作之间的关系:哪些能打断、哪些必须衔接、哪些覆盖其他动作,以及相应的播放速率。资产接入后,按这些规则进行实机测试。
检查不只覆盖预想中的操作顺序,也包括快速连按、多键同时输入和不合时机的动作尝试,观察是否出现状态错乱。
熟悉流程后,单个动作约需 30 分钟;从角色设定到首个待机动画约需 1 小时。这是我在该项目中的经验估计,实际耗时随候选质量和修整难度变化。