mcpField
T
threejs-object-sculptor

threejs-object-sculptor

github.com/linegel创意与媒体11135 次安装5 周前更新
代码仓库

关于 threejs-object-sculptor

这项技能通过六阶段、以证据为依据的流程,从参考图像重建 Three.js 物体。它面向制作程序化模型的开发者,明确处理不可见形态的假设和保真度限制。

主要功能

  1. 01检查参考视图并评估可读性
  2. 02拆分物体并标记身份特征部件
  3. 03选择程序化几何表示方式
  4. 04按视图匹配构建并细化模型
  5. 05验证代码、渲染结果和未决假设

适用场景

  1. 01根据物体照片规划程序化模型
  2. 02依据多个参考视图制作浏览器交互道具
  3. 03建模前确认缺失视图或测量数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/linegel/threejs-complete-set-of-skill --skill threejs-object-sculptor

安装后在 Claude Code 中输入/threejs-object-sculptor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
agents/
openai.yaml
references/
attachment-joint-correctness.md
procedural-patterns.md
scripts/
probe_reference_image.py

详细介绍

Three.js 对象雕塑

将对象图像转化为有证据依据的程序化重建。输出可以是可行性判断、构建计划或可运行代码;每条路径都遵循相同的六个阶段。

输入和限制

使用所有提供的视图。如果目标或预期用途不明确,请先消除歧义,再确定表示方式。否则,假设这是一个交互式浏览器道具,其创作尺度可以调整。

单个视图只能确定可见证据。除非对称性、已知构造、额外视图或测量数据能够加以约束,否则隐藏表面、厚度、绝对尺寸、材质参数和关节结构都仍是假设。请标明每项假设。精确还原、制造尺寸或不可见的机构都需要补充视图或测量数据;明确说明采用风格化近似也是有效替代方案。

对于本地图像,将 <skill-dir> 设为包含此 SKILL.md 的目录, 然后运行 python3 "<skill-dir>/scripts/probe_reference_image.py" "<image>",使用 probe_reference_image.py。该工具会报告格式、 字节数、尺寸、宽高比和元数据解析状态。该状态仅描述文件元数据;只有第 1 阶段的视觉检查才能确定图中对象是否清晰可辨。辅助工具会读取有上限的文件前缀 (默认 1 MiB,--max-header-bytes 最高为 64 MiB),并分别报告文件字节数和 扫描字节数。其宽度和高度是存储的栅格或画布尺寸,不代表经 EXIF 方向校正、 像素宽高比校正或解码图像验证后的尺寸。对于有效但不受支持或较晚出现的文件头, 部分结果不意味着对象不可辨认。支持的文件头包括 PNG IHDR、扫描数据前的 JPEG SOF、 GIF 逻辑屏幕、WebP VP8/VP8L/VP8X、BMP CORE/Windows INFO 系列,以及第一个经典 TIFF IFD。此辅助工具不支持 BigTIFF 和 JPEG DNL 高度恢复。文件有效性、所有动画/页面帧、 方向和颜色仍需分别检查。文件头规则遵循 PNG、 WebP、 BMP CORE 和 JPEG 帧读取器。

六阶段雕塑

1. 检查

在规划几何形状之前,检查所有视图。记录:

  • 目标边界、裁切、分辨率、模糊、遮挡、透明度和相互冲突的主体;
  • 可见的正面/朝上线索、相机投影线索、存在时的尺度参照,以及视图间的一致性;
  • 参考图像的身份及方向/裁切变换,包括镜像、像素宽高比、 镜头畸变,以及比较的是动画中的哪一帧;
  • 哪些轮廓、负空间、接触关系、材质区域和重复特征是直接观察到的;
  • 哪些隐藏形状或物理属性仍属于假设。

仅通过视觉检查来判断证据可读性:

  • readable:目标及其主要轮廓足够清晰,可以选择一种重建方案;
  • conditional:在明确列出假设、缩小范围或补充视图的情况下,可以进行有用的近似;
  • unreadable:目标身份或定义性形状过于模糊,无法进行有充分依据的重建。

如果条件性或不可读证据影响了定义身份的特征,请请求最少的缺失输入,或说明缩小后的主张。检查完成的标准是:已考虑所有提供的视图、判断有证据支持,并且所有重要的不确定性都已明确说明。

2. 分解

固定一个对象坐标系和一套创作单位。由粗到细划分对象:

  1. 宏观体块和外轮廓;
  2. 中观部件、开口、接触处、关节和重复结构;
  3. 在要求的最近视角下仍可见的微观特征;
  4. 材质区域及其可观察到的响应。

标记身份锚点:轮廓转折、负空间、标志性比例、独特关节、重复节奏,以及一旦丢失就会改变对象本质的局部材质或几何特征。将每个锚点保留为独立的组件、边界、场或验证目标;后续如果取平均值导致某个锚点消失,重建就不合格。

当每个可见身份锚点都有且仅有一个归属、每个子部件都注明其父级或接触对象,并且每个推断出的部件都被标记为假设而非图像证据时,分解才算完成。

3. 选择表示方式

根据语义部件选择表示方式,使用能保留其身份锚点和后续归属的最简单形式:

  • 解析图元或倒角图元;
  • 旋转曲面轮廓;
  • 平行传输扫掠体;
  • 形状挤出或有充分依据的 CSG;
  • 实例化、批处理或卡片式重复细节;
  • 如果上述方式无法表达目标,则使用单独路由的生成式/变形曲面。

选择上述一个或多个分支后、开始实现前,请阅读程序化对象模式中对应的部分,并遵循其中的构建和验证规则。

为需要移动、分离、更改材质、具有拾取/碰撞身份或拥有附件的部件,保留稳定的逻辑身份以及独立的变换/更新归属。当父子层级要求时,使用单独的节点;如果实例化或批处理部件能保留这些操作,也可以使用稳定的语义到实例映射。当子部件与父部件接触、插入其中、以铰链连接或随其移动时,请在构建初步模型前阅读附件与关节正确性。

当每个已分解部件都恰好对应一种表示方式和一个归属、每种被否决的替代方案都有明确的失败条件,并且已应用所选分支要求的所有条件性参考时,选择才算完成。

4. 构建初步模型

只构建宏观体块、主要开口、坐标系和身份关键负空间。对于可行性评估或规划,初步模型是带尺寸的图元/轮廓草图;对于实现,它是在目标仓库中可渲染的粗略几何体。

添加细节前,先使用预定的对比相机。先统一参考图的朝向和裁切。将构图和投影与对象比例分开匹配,避免把相机误差变成几何误差。对于多个视图,保留一个共享模型和各视图对应的相机,不要为每张图拟合不同的对象。在固定对比视图前,先根据带有不确定度的地标进行校准;不要通过反复调整相机来掩盖几何回归。保留后续附件或运动所需的语义节点边界。

当目标在所有必需视图中仅凭轮廓就能辨认、主要比例和负空间都处于声明的容差范围内,并且几何和布局无需依赖材质或微观细节就能实现匹配时,初步模型才算完成。

5. 优化适用分支

仅按以下顺序打开有请求和证据支持的分支:

  1. **结构:**添加中观部件、孔洞、接缝、重复系统和连接根节点。将连接参考应用于每个适用的子部件,并在继续之前验证接触情况。
  2. **形态:**添加倒角、渐缩、弯折、轮廓变化、端盖、不对称结构,以及影响轮廓的浮雕。遵循所选表示的极点、接缝、绕序和坐标系规则。
  3. **材质:**将基础颜色与光照分开;实现可观察的粗糙度、金属度、清漆层、透射、法线/凹凸/置换、磨损或局部遮罩。将细节限制在其屏幕占用范围内。
  4. **动作:**仅在请求用途需要时,添加稳定枢轴、插槽、独立节点或可拆卸组。对于碰撞体意图,应分别为每个语义部件指定其碰撞体表示、单位/坐标系、拟合容差和碰撞 LOD,并与渲染 LOD 区分。对于破坏意图,应制作稳定的可破坏组、接缝和切割面、碎片 ID/质量/枢轴及效果插槽。明确区分创作的元数据与对物理求解器的声明。
  5. **性能:**根据测量得到的投影误差简化;仅在语义身份和更新所有权得以保留的情况下进行实例化或批处理。

每打开一个分支后,都要先对照身份锚点,再打开下一个分支。只有在每个适用分支均达到其局部标准、每个未纳入的分支均确实不适用而非被遗忘,且每个身份锚点都仍然可见或在结构上得到体现时,优化才算完成。

6. 验证

对于代码,运行目标仓库的语法/类型/构建检查及其现有的捕获流程。直接检查最终渲染。在各次迭代中,保持对比摄像机、投影、取景、视口、曝光和评审光照固定。

按以下顺序进行比较:

  1. 轮廓、比例和负空间;
  2. 部件位置、层级、接触、重复节奏,以及任何请求的碰撞体或断裂结构;
  3. 形态过渡和身份锚点;
  4. 中性光和掠射光下的材质响应;
  5. 摄像机和参考光照匹配度。

将每个差异归入一种原因:

  • ambiguity:证据无法确定答案;请求视角/测量数据或缩小声明范围;
  • decomposition:缺少部件、边界或身份锚点,或其归属有误;修改阶段 2;
  • implementation:所选表示正确,但几何体、材质、层级或滤波有误;修改阶段 4–5;
  • camera-lighting:取景、投影、曝光或照明妨碍公平比较;评判模型之前先修正评审设置。

只有在产物通过适用于其分支的检查、按规定顺序检查每个必需视图、为每个剩余差异指定修正方案或明确限制,并且最终报告区分已观察到的保真度与剩余假设时,验证才算完成。

结果

返回证据可读性判定、证据和假设、分解结果和身份锚点、表示方式决策、分支结果、验证证据及剩余限制。对于实现请求,编辑目标代码,并且仅报告实际检查过的检查结果和图像。

评论

支持 Markdown