Communitygithub.com

thativanng/reels-maker

用体素风格的3D短片展示一个人的职业生涯。人物持续行走,场景随角色变换,适合制作LinkedIn或作品集里的“职业旅程”视频。

reels-maker 是什么?

**thativanng/reels-maker**(体素行走)是一款AI Agent技能,专用于将求职者的职业生涯转化为一段连续的3D体素(voxel)动画短片。其核心理念是**一人持续行走**:主角从不消失,每换一个工作角色就更换服装,同时新场景从地板上升、旧场景沉入地下,整个过程流畅自然。技能依赖`film-engine`进行渲染、音频和后期,且所有输出必须通过`film-audit`质量门禁。支持的平台包括Claude Code、Cursor、Codex等遵循SKILL.md的AI Agent。核心工作流包括:先通过`reel-intake`进行访谈,收集角色、年份、公司、着装、关键成就和“护城河”故事;然后基于`template/film.html`和`career.json`搭建三章样片,再按用户真实经历替换章节;最后经过静止帧检查、碰撞检测、探针和独立审计才能交付。技能内置八条“家规”确保短片风格统一:连续行走、场景升降、画面叙事(副标题承载含义)、不贴标签、时间分配按重要性、严格色彩系统(暖灰地面/白物/暗屋顶+一个强调色)、可公开数字、以及每帧都需通过审计。该技能特别适合用户说“制作我的职业电影”、“把简历变成视频”或要求为已有短片添加新章节时调用。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thativanng/reels-maker/tree/HEAD/skills/voxel-walk

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

体素行走:一个人,一次连续行走,每个角色

套件存放位置: 运行此技能中的所有命令时,请确保当前处于 reels-maker 文件夹(克隆自 github.com/thativanng/reels-maker,其中包含 template/ 和 tools/)。如果项目中没有该文件夹,请先按照仓库中的 SETUP.md 进行设置。

从 template/film.html + template/career.json 开始。 模板是一个完整的、为虚构人物制作的三个章节的电影(咖啡馆、仓库、带AI伙伴的夜间办公桌)。将章节替换为人物的真实经历;保留系统结构。

1 · 首先进行访谈(reel-intake,然后 references/intake.md)

reel-intake 负责采访:目的、格式、旅程模块(每个角色和职位、名称/描述/隐藏、主张)、视觉参考和安全护栏。此技能的 references/intake.md 仅添加体素风格所需的内容。模板仅支持 4:5 比例(其摄像机为此比例设置);如果需求为 9:16,需要重新设置摄像机并重新运行所有门禁,否则选择另一种视觉风格。在放置任何模块之前,需要从用户本人那里获得以下信息:

  • 每个角色: 年份、公司、职位,以及 该角色教会或证明了什么(“护城河”)。
  • 展现工作的场景, 而非职位名称。规划师不是坐在桌前的人,而是卡车驶离码头驶向正确仓库的场景。咖啡师是递出柜台的杯子。
  • 每个章节的着装, 他们实际穿的衣服。
  • 不得出现的内容: 不能公开的数字、不愿提及的雇主、现任同事会质疑的主张。
  • 结尾卡片: 姓名、标语、三个优势、一句结束语。

他们的语言优先于你的。你可以校对他们的台词(语法、流畅度);但不得改写其含义。

2 · 家规(references/house-rules.md 中有理由)

  1. 一次连续行走。 主角从不消失。他们在场景间行走;服装通过一道从头部扫到脚部的光环在行走中更换。
  2. 场景升起和沉落。 下一个章节从主角前方的地板上升,上一个章节在主角身后沉落,因此章节间的行走仅需 2-4 秒,而不是 20 秒。移动物体在建筑物之后升起,在建筑物之前离开。
  3. 画面讲述故事;副标题传达含义。 不要在物体上贴标签(叉车不需要“叉车”标签)。仅当画面无法表达某个概念时,才使用标签。副标题是每个节拍的一行故事,而不是对横幅的重复。
  4. 屏幕时间遵循重要性,而非实际比例。 主角的时刻需要停留;交通工具是快速的配角。
  5. 颜色: 暖灰色地面、白色物体、深色屋顶和道路、一种强调色用于UI和关键道具。强主光加环境光遮蔽。白色加白色显得平淡。
  6. 横幅在场景出现在屏幕上时更改, 而不是在其代码开始时。
  7. 不能出现你在当前雇主面前无法辩护的数字。 横幅上的年份没问题;KPI 通常不行。
  8. 每一帧都必须通过 film-audit。

3 · 模板的结构(在 film.html 中查找这些部分)

  • CHARACTERS: 角色由矩形列表定义 [x, y, w, h, colour, part, frontOffset, depth],挤出为方块并分组为身体部位(腿、躯干、手臂、头部、头发)并带有枢轴。career.json → looks 为每个章节提供一套服装。makeMini() 制作角色阵容;buddyVox() 制作机器人。
  • 服装擦除: 每套服装是一个单独的体素身体,由一个移动平面裁剪;WIPES = [[t, from, to]]。
  • WALK(行走): IK = [[t, x, z, ryWhenStopped]] 路径点,梯形速度,腿部相位根据距离计算。SITS = [[from, to]] 用于办公桌场景。
  • ZONES(区域): zoneG(tIn, tOut) 创建一个升起和沉落的章节;任何移动的物体都放入 wrap(zone)。
  • CAMERA(摄像机): CK = [[t, A(...) | F(...)]]。
  • OVERLAYS(叠加层): 所有文字来自 career.json。
  • AUDIT(审计): AUD_S(静态物体)、AUD_M(移动物体)、HELD(应该发生的接触)、window._dbg(探测点可测量的内容)。

4 · 添加一个章节

  1. 选择一段街道(x 范围)位于上一章节旁边。行走道 z ≈ 2.6–3.4,道具站在其后(z < 0),办公桌位于前面(z ≈ 5.4),椅子在桌子后面。
  2. 在 zoneG(tIn, tOut) 中构建场景; 将移动物体放入 wrap(zone)。
  3. 添加 IK 路径点 用于走进和停下,WIPES 条目用于服装,CK 关键帧(行走时跟随,节拍处绝对保持)。
  4. 在 career.json 中添加时代信息,位置在场景升起且服装已更换的时刻。添加副标题。
  5. 在 AUD_S 中注册每个静态物体,在 AUD_M 中注册每个移动物体。 在 template/audio.py 中添加音频提示。
  6. 运行门禁(静止帧检查 → node tools/collide.mjs → 探针),然后由独立审计员进行审计。

5 · 此风格的常见陷阱

  • 道具位于头部后方(架子、屏幕、生产线上的盖子)会看起来像帽子或光环。使用探针检查。通过调整摄像机高度、侧移或稍后移动来修复。
  • 两人一前一后站立会融合成一个双头人物。在 x 轴上保持一个身体宽度的间距。
  • 人们之间传递物品必须保持在胸部高度,且不得越过面部。如果物品需要穿过房间,则通过主角的办公桌进行传递。
  • 主角横向行走时,肩膀会扫过行走道旁边的物体。保持 1.3 单位的净空。

相关技能