Communitygithub.com

3D Studio

一条命令整合整套3D网页工具包。融合品味、苹果设计、动画、解剖学、threejs-*、r3f-*、blender-mcp、threejs调试分析器和Remotion,按需加载所需技能,并在真实浏览器中验证结果。在用户输入 /3d-studio 或 $3d-studio,或要求使用完整的3D工具包或所有3D技能时使用。添加 --all 加载全部,或 --plan 预览选择而不构建。

3D Studio 是什么?

3D Studio 是一个智能编排工作流,它将多个独立的 3D 网页开发技能整合到一个统一的命令式流程中。其核心设计理念是**按需加载**:工作流自动根据用户请求(如涉及动画、几何体、材质、光照、交互或 Blender 建模等)从预定义技能表中精确选择并加载所需的技能(如 taste-skill、threejs-*、animate 等),从而避免资源浪费和内存压力。该工具支持 Claude Code、Codex 和 Antigravity 等 AI 代理平台,通过读取各技能的 SKILL.md 文件实现工具集成。工作流严格遵循五步顺序:确定艺术方向、将业务逻辑与 3D 分离、构建基于状态的几何体、按需渲染、以及确保可访问性和响应式布局。最后,系统会通过位于 `.claude/skills/` 等目录下的专用检查脚本(如 drive.mjs 和 inspect.mjs)在真实浏览器中验证交互测试和设计合规性,并以失败日志的形式报告验证结果,确保交付质量的透明性。

兼容平台✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/mithulpranav24012008/3d-studio/tree/main/skills/3d-studio

在你喜欢的 AI 中提问

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

文档

3D Studio 是做什么的?

以单一工作流运行一组 3D 网页技能。请求位于 $ARGUMENTS 中。如果智能代理未填充该占位符,则请求为用户与此技能一起编写的内容。

1. 选择技能

以下每一项都是一个独立的技能。请按照智能代理加载技能的方式加载它们,并严格按照所示名称:在 Claude Code 中使用 Skill 工具,或在 Codex 和 Antigravity 中读取其 SKILL.md。加载后,其指令将与此工作流一起应用。第 4 节列出了查找文件夹的位置。

始终加载以下三项: taste-skill(艺术指导;可能以 design-taste-frontend 名称安装)、apple-design(流畅的物理运动、材质和深度)、threejs-fundamentals(场景、相机、渲染器、循环)。

当请求需要时,添加一行:

请求涉及加载
任何会动的东西animate、threejs-animation
用代码构建的形状、实例化、大量对象threejs-geometry
曲面、木材、金属、光泽threejs-materials、threejs-textures
光照、阴影、反射threejs-lighting
点击、拖动、轨道旋转、选取部件threejs-interaction
自定义视觉效果threejs-shaders、threejs-postprocessing
加载或压缩 3D 模型文件threejs-loaders、threejs-asset-pipeline
从 Blender 建模或导出blender-mcp(首先检查 Blender 是否已安装)
React 项目threejs-react-three-fiber、r3f-fundamentals
速度慢、卡顿、空白画布、内存问题threejs-performance、threejs-debug-profiler
等距图形、示意图或解释工作原理的说明图,或 A4 打印海报anatomy
渲染的电影或视频Remotion,参见第 3 节

这些技能加起来有数千行,全部加载会占用构建所需的工作内存。这就是默认使用表格的原因。

  • 使用 --all,无论请求如何,加载表中的所有技能。
  • 使用 --plan,列出将要加载的技能及其原因,不加载任何其他内容,然后停止。

用一行说明您正在加载哪些技能。如果某个技能无法加载,请指明其名称并继续处理其他技能,而不是停止。

在此工作流需要时,再加载每个技能。如果某个技能以设置步骤开始,或要求可能会中断工作的问候语,请跳过该部分。

2. 按此顺序工作

  1. 确定创意。 遵循 taste-skill 的艺术指导:阅读简报,绘制方向,撰写文案。创意应源自主题。
  2. 将逻辑从 3D 中分离。 任何具有实际规则的内容(算术、模拟、定价)都应放在不含 Three.js 的普通模块中,并通过测试覆盖,以便在不渲染任何内容的情况下获得信任。
  3. 将 3D 构建为状态的函数。 几何代码根据姿态放置部件,且不涉及任何规则。动画应为进度参数的纯函数,以便可以反向播放、中途反转或跳转到终态以实现减少动效。
  4. 按需渲染。 仅当有对象移动时才绘制,不在屏幕外时完全停止绘制,这样空闲页面不消耗资源,手机也能保持凉爽。
  5. 使其完全可用。 需要画布旁有真正的按钮、键盘支持、减少动效、无 WebGL 时的降级方案,以及在手机宽度下正常工作的布局。

3. Remotion

此集合中不包含 Remotion 技能,因此直接在项目中使用 remotion 包。

  • 通过导入网站使用的相同场景构建代码进行渲染,确保影片和网站不会出现偏差。
  • 每一帧必须是帧编号的纯函数。不要使用依赖于先前帧的定时器或弹簧。
  • 使用 remotion render <entry> <composition> <out.mp4> --gl=angle --codec=h264 --crf=24 进行渲染。
  • 场景更改不会改变已渲染的影片。重新渲染,或告知用户影片已过期。

4. 在认为完成之前进行检查

检查使用两个技能中的脚本。按以下顺序在项目中的 .claude/skills/ 和 .agents/skills/ 中,然后在 ~/.claude/skills/、~/.agents/skills/ 和 ~/.gemini/config/skills/ 中查找每个技能的文件夹,查找其名称。以下 <anatomy> 和 <taste> 代表这些文件夹。<taste> 的名称为 taste-skill 或 design-taste-frontend。

使用 node <anatomy>/scripts/drive.mjs <url> --actions steps.json 在真实浏览器中模拟真实点击和拖动。两个脚本都需要 Node 22 或更高版本以及已安装的 Chrome、Edge 或 Chromium。

  • 静态画面和动态流程应分开运行。 shot 动作可以冻结动画直到下一次捕获。使用 --reduced 拍摄静态画面,这会跳转到最终状态,并使用 eval 检查测试动画流程,在运行过程中不进行截屏。如果帧出现空白或过时,请在将其视为错误之前重新捕获。
  • 测试真实控件。 优先点击实际按钮而不是直接设置状态,并包含反转和中间中断动画的测试。
  • 检查设计。 运行 node <taste>/scripts/inspect.mjs <url> --widths 1440,390,然后自己查看截图。通过检查器是最低要求,并非评分标准。
  • 运行测试并阅读控制台。 然后在生产构建上重复主要流程,而不仅仅是开发服务器。

报告已验证的内容,以及明确说明未验证的内容:真实设备、音效和全速运动通常在此处无法实现。

5. 安装任何新内容

如果表中缺少某个技能,用户可以使用 npx github:mithulpranav24012008/3d-studio 安装整个集合。对于任务所需的任何其他技能或工具,请将命令提供给用户并让他们运行,以便他们看到安全摘要。不要使用 -y 跳过确认。

相关技能