3d-model-generator-by-threejs
GitHub通过编写受限的buildModel模块,利用Three.js从自然语言生成程序化3D模型。支持GLB/OBJ/STL导出、确定性验证及PNG预览或浏览器交互审查,无需Blender等工具。
Trigger Scenarios
Install
npx skills add Yuki001/game-dev-skills --skill 3d-model-generator-by-threejs -g -y
SKILL.md
Frontmatter
{
"name": "3d-model-generator-by-threejs",
"description": "Generate procedural 3D models from natural-language requests by writing a constrained buildModel(ctx) module that uses Three.js, bundled builders and helpers, deterministic validation and export scripts, PNG previews, and optional browser visual review. Use when needs to create, revise, export, or visually audit programmatic 3D assets in GLB, glTF, OBJ, or STL without Blender or another DCC tool."
}
3D Model Generator by Three.js
Generate model-specific JavaScript while keeping model construction helpers, validation, export, and review deterministic and reusable.
Workflow
-
Choose a task output directory outside this skill.
-
Run
node scripts/init-model-task.mjs --out <task-dir>to copy the build-module template without overwriting existing work. -
Read
references/build-contract.md. Readreferences/builder-api.mdbefore using bundled builders or helpers. Readreferences/export-formats.mdbefore choosing formats. -
Edit only
<task-dir>/model-build.mjs. Export onebuildModel(ctx)function and keep it deterministic. -
Install the pinned runtime once with
npm ci --prefix scripts. -
Build, validate, and export:
node scripts/build-and-export.mjs --build <task-dir>/model-build.mjs --out <task-dir> --formats glb,obj,stl -
Inspect
<task-dir>/validation.json. Fix every error and evaluate warnings that affect the requested formats. -
Render a deterministic PNG preview of the exported artifact:
node scripts/render-preview.mjs --model <task-dir>/model.glb --out <task-dir>/preview.png --views iso,front,topRead
references/preview-rendering.mdfor supported formats, views, and rendering limitations. -
When interactive visual review is useful, run:
node scripts/serve-viewer.mjs --artifact-dir <task-dir> --model model.glbOpen the printed local URL with an available browser tool. Review the exported artifact, not only the source scene. Use
--source model-build.mjswhen source-scene comparison is needed. -
Iterate by modifying only
model-build.mjs, rebuilding, and reviewing again.
Build Rules
- Return a
THREE.Object3Dor{ root, animations, metadata }. - Use
ctx.buildersandctx.helpersfor common construction. Usectx.THREEdirectly for custom geometry. - Do not import modules from generated build code. Do not access files, processes, environment variables, network APIs, dynamic imports,
eval, orFunction. - Use
ctx.rnginstead ofMath.random()so revisions are reproducible. - Treat Y as up and meters as the default unit unless the request requires otherwise.
- Prefer
MeshStandardMaterial,MeshPhysicalMaterial, or bundled material presets for GLB. - Keep textures out of the default Node export path. Texture encoding requires a browser or a separate image-capable runtime.
- Set meaningful node names and organize multipart assets under groups.
- Keep triangle counts proportional to the requested use case. Use lower segment counts for distant or mobile assets.
Validation and Review
Run numeric validation before visual review. The validator checks finite transforms and vertices, empty geometry, normals, bounds, counts, unsupported shader materials, textures, and configured limits.
For visual review, inspect:
- silhouette and recognizable shape;
- relative scale and proportions;
- symmetry, alignment, grounding, and unintended intersections;
- front, rear, side, top, and perspective views;
- material separation and final-format fidelity;
- wireframe density when topology matters.
Prefer round-trip review of GLB, OBJ, or STL. Source mode can look correct even when export loses hierarchy, materials, transforms, or animations.
Completion Criteria
Complete a model task only when:
- the build module runs without forbidden capabilities;
- validation contains no errors;
- every requested file exists and is non-empty;
- exported-file review is satisfactory when browser review is available;
- the build is reproducible with the recorded seed;
- generated source and artifacts remain outside this skill directory.
Resources
scripts/runtime/: Stable build context, builders, helpers, seeded RNG, source checks, and scene validation.scripts/exporters/: Format-specific GLB/glTF, OBJ, and STL exporters.scripts/build-and-export.mjs: Main deterministic pipeline.scripts/render-preview.mjs: Standalone exported-model PNG renderer.scripts/serve-viewer.mjs: Local source and round-trip viewer server.assets/model-build.template.mjs: Generated-task starting point.assets/viewer/: Browser review application.references/build-contract.md: Generated module contract and safety rules.references/builder-api.md: Builder and helper API.references/export-formats.md: Format capabilities and limitations.references/preview-rendering.md: Standalone preview command and limitations.
Version History
- 782ea24 Current 2026-07-31 07:38


