Three.js From Zero · Article s10-08
S10-08 Generative Meshes
Season 10 · Article 08
Generative 3D Meshes
Text/image → 3D model. 2025's breakthroughs: Trellis, Rodin, Meshy, Stable Fast 3D. The pipeline + clean-up steps + how to actually ship the output.
1. Tool comparison
| Tool | Input | Output | Speed | Best for |
|---|---|---|---|---|
| Rodin Gen-1.5 | Text / image | .glb with PBR | ~60s | Game-ready props |
| Meshy | Text / image | .glb, .fbx, .usdz | ~60s | General use |
| Trellis | Image | Mesh + radiance field | ~30s | High quality research |
| Stable Fast 3D | Image | .glb | ~2s | Speed-sensitive |
| Scenario | Text + style | .glb | ~60s | Consistent packs |
2. Typical quality
- Shape: 90% accurate to prompt. Complex details (fingers, small features) wobble.
- Topology: usually isotropic mess. Bad for rigging, OK for static props.
- Textures: PBR with color + normal, sometimes roughness. Quality varies.
- UVs: automatic, often non-ideal. Seams visible at steep viewing angles.
3. API example (Meshy)
const r = await fetch('https://api.meshy.ai/v2/text-to-3d', {
method: 'POST',
headers: { Authorization: 'Bearer ' + API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
prompt: 'a wooden treasure chest, medieval fantasy',
art_style: 'realistic',
negative_prompt: 'low quality, blurry'
})
});
const { result } = await r.json(); // job ID
// Poll until done:
const model = await poll(result);
// Download model.model_urls.glb
4. Clean-up pipeline
# 1. Load in Blender
# 2. Retopologize if rigging needed (QuadRemesher, RetopoFlow, Instant Meshes)
# 3. UV unwrap (Smart UV Project → Pack Islands)
# 4. Bake textures onto new UVs
# 5. Fix PBR (roughness often too smooth)
# 6. Export clean glTF
# Then for web:
gltf-transform optimize input.glb output.glb
gltf-transform uastc output.glb --filter "*normal*"
gltf-transform etc1s output.glb --filter "*"
5. When it's "good enough" as-is
- Background props (chairs, crates, rocks).
- Concept-art stand-ins.
- Inventory icons (render to 2D).
- Prototypes before commissioning real art.
6. When it needs polish
- Hero characters: always.
- Animated objects: topology cleanup required.
- Tight geometry (doors, mechanisms): Blender modeling.
- Brand-specific style: fine-tune a LoRA on your IP.
7. Image-to-3D workflow
- Artist sketches concept in 2D (Midjourney / Photoshop).
- Upload sketch to Rodin / Meshy.
- Receive 3D model matching the art direction.
- Blender polish if needed.
- gltf-transform compress.
- Ship.
8. Cost
- Meshy / Rodin: $0.10-$0.50 per generation.
- Cheap enough to iterate 10× per asset.
- Save only the best output.
9. Takeaways
- Text/image → 3D is real in 2026. Output usable for backgrounds/props.
- Rodin/Meshy: 60s per model, $0.10-0.50.
- Topology usually bad — fix if rigging.
- Image-to-3D faster workflow than text.
- Always pipe through gltf-transform before shipping.