SuperAPI AI 工具集

anatomy-reveal

设计与创作

查看项目

更新于 10-23 16:16

技能介绍

用途

Anatomy Reveal 用于把一个真实存在的物理对象(产品、工具、家具、乐器、鞋、车辆、珠宝、厨具、玩具,甚至水果或花)做成可旋转、可拆解的“解剖”模型,并据此生成交互式解剖图页与无声影片。

主要能力

  • 基于真实几何构建:物体不是现成 3D 模型或描摹图像,而是按真实尺寸逐件搭建;每个面板、螺丝、旋钮、玻璃元件和电路板都是独立的凸实体。
  • 四阶色调上色:每个部件根据其朝向光源的方式以四种色调着色。
  • 求解绘制顺序:部件按从分离平面解算出的顺序绘制。
  • 两种输出共用同一模型:同一几何可任意角度旋转、拆解,并同时驱动解剖图页与影片。
  • 模板化起始:template/ 是完整可运行项目,示例为带内置研磨机的双锅炉意式咖啡机(82 个零件),但流程不绑定该物体;任何用户指定或展示的物体都按同样方式处理。
  • 两种输入情形:用户上传物体图片时,研究轮廓、比例、材质、颜色、表面装饰、可见控制件、接口与标记及可动部分;能识别产品时查真实尺寸与内部结构,否则用已知尺寸特征估算并说明假设。用户仅给出名称时,检索真实产品的整体与主要子尺寸(毫米)、材质与配色、可见控制件/接口/标记、开合折叠滑动转动方式及内部结构(拆解资料最佳)。名称有歧义时选最常见变体并说明。
  • 先出规格:无论哪种输入,在动几何前先给出简短规格:尺寸、功能清单、按装配分组的零件清单,以及影片中会运动的一两个特征;不确定处与用户确认。

使用方式

构建前的参考资料:references/inputs.md(从照片或名称到尺寸、特征与零件清单)、references/objects.md(各类物体如何拆解,如何用凸部件构建曲面、有机、柔软与大型形状)、references/object.md(如何构建可任意角度旋转并干净拆解的物体)、references/shots.md(影片节拍、时间线格式、缓动与取景)、references/look.md(纸张观感、材质与线宽)。

工作流:

  1. 定规模:物体作为“Hero”,约 100–150 个零件,物体约 2–4 小时、影片约 1 小时;告知用户后开建,尽早让物体在测试页渲染,再逐步深化。
  2. 收集事实(见 inputs.md)。
  3. 脚手架:node <skill>/scripts/new-project.mjs <dir>,复制 template/、安装 puppeteer-core 并构建示例,验证工具链在本机可用。
  4. 构建物体:在 object/geometry.mjs 中按 object.md 规则构建:凸面板组成的中空外壳;外层部件先行的拆解装配;特征组(铰链、旋转、滑动);每个镜头的锚点;标记作为面平面。用 node object/test-page.mjs --light 与 node object/shots.mjs object/test-light.html out/t/a '{"yaw":-35,"pitch":12}' '{"yaw":-35,"pitch":20,"apart":1}' 迭代并查看每张图;用 node object/scan-apart.mjs <yaw> <pitch> 从前、后、上、下、侧五个视角扫描,直到每个视角都报告没有部件互相穿透、没有强制选择。
  5. 描述物体:在 object/film.mjs 中定义 FILM(标题、场景半径约为最大尺寸毫米数的 0.8 倍、无障碍标签、包围盒)、FIGURE(页面标题、起始视角、图例键与说明,含 {parts}、{assemblies} 占位)、FEATURE_DEFAULTS 与 FEATURE_KEYS(每个可动特征、页面按键、取值或步进)、featureValues 与 featureTravel(特征如何映射到组、部件移动多远)。页面与影片都只从这一个文件读取物体相关信息。
  6. 解剖图页:运行 node object/build.mjs 与 --light 生成 object/figure.html 和 object/figure-light.html,通过 http 服务在浏览器查看。
  7. 选时长与比例:用户未指定时询问(默认 10 秒、9:16),再用 node motion/build.mjs --duration <seconds> --ratio <9:16|4:5|1:1|16:9>(3–60 秒)构建影片页;甩镜保持长度,漂移与停顿会拉伸或压缩;超过约 12 秒的影片增加节拍(更多细节镜头)而不只是拉长。
  8. 编排时间线:在 motion/timeline.mjs 中按 shots.md 逐拍编排;用 node motion/render.mjs poses '[…]' out/p 取景后目选;用 node motion/render.mjs stills 0,1.2,2.3,3.5,4.6,5.6,7.9,10 out/s 检查时序;node motion/scan.mjs 必须报告每帧干净。
  9. 渲染:先 node motion/render.mjs blur out/blur --step 4 --most 40,再 node motion/encode.mjs out/blur out/<name>.mp4。渲染按画面移动幅度决定每帧运动模糊,甩镜最多 40 个子帧,停顿为 1。约每秒影片 2 分钟,后台运行并避免同时进行其他浏览器工作。
  10. 检查 MP4:用 ffmpeg 抽帧(ffmpeg -i out/<name>.mp4 -vsync 0 out/check/f_%03d.png),拼接十余帧联系表查看。
  11. 交付:MP4、两个图形页和项目文件夹;说明未验证之处。影片无声,可提出按用户提供的音轨剪辑。

适用场景

适合需要展示产品内部结构、零件组成、装配关系与拆解过程的说明性内容,例如产品解剖图、规格说明配图、拆解演示短片,以及同时需要交互图页与动画影片输出的场景。模板示例为咖啡机,但流程适用于任何可命名的实物对象。

限制与规则

  • 仅几何:用户、网络或生成器的图像不得进入图页或影片;雕刻、金银丝、印花等装饰需绘制为面平面上的 SVG 或凸起部件。
  • 忠于物体:使用真实毫米数、真实的按钮与螺丝数量、真实开启方式;细节来自真实零件而非噪声。
  • 仅凸部件、不得凹陷:构建会拒绝无法分离的部件对,需移动或拆分该部件。
  • 单一连续镜头:用甩镜(约 0.24 秒)切换主体,停顿持续漂移,只有最后半秒静止。
  • 纸张观感:影片绘制在暖白纸张上,采用套件浅色主题:墨水轮廓、四阶填充;除非用户另有要求。
  • 默认中性标记:部件通用标注(SoC、表冠、电池);仅在用户要求忠实复刻时绘制厂商logo或商标。

文件结构

路径 内容
scripts/new-project.mjs 将模板复制到新文件夹、安装并构建示例
template/kit/ Anatomy 套件(MIT),含额外材质(玻璃、pcb、传感器、信号、瓷器、薰衣草、针织、咖啡、豆、奶、烟)及 turn.mjs 中两个调试钩子
template/object/geometry.mjs 物体:部件、组、拆解装配、特征姿态、锚点
template/object/scene.mjs 投影、构建、orient()(视图空间中的 yaw、pitch、roll)、explodeValues()
template/object/film.mjs 页面与影片读取的物体专属信息:标题、场景半径、标签、边界、特征通道与键
template/object/build.mjs, live.js 交互式解剖图页
template/object/test-page.mjs, shots.mjs, scan-apart.mjs, capture.mjs 裸测试页、设定姿态截图、拆解穿透扫描、页面捕获
template/motion/timeline.mjs 关键帧、缓动、标签,以及 --duration 的重定时和 --ratio 的取景
template/motion/build.mjs, look.css 影片页:frame(t)、pose(state)、speed(t)
template/motion/render.mjs, encode.mjs, scan.mjs 静帧、姿态、自适应模糊渲染;平均与 H.264 编码;逐帧顺序检查
template/scripts/browser.mjs 在 macOS、Linux、Windows 上查找 Chrome、Chromium 或 Edge(CHROME_PATH 可覆盖)