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

ToolInputOutputSpeedBest for
Rodin Gen-1.5Text / image.glb with PBR~60sGame-ready props
MeshyText / image.glb, .fbx, .usdz~60sGeneral use
TrellisImageMesh + radiance field~30sHigh quality research
Stable Fast 3DImage.glb~2sSpeed-sensitive
ScenarioText + style.glb~60sConsistent 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

  1. Artist sketches concept in 2D (Midjourney / Photoshop).
  2. Upload sketch to Rodin / Meshy.
  3. Receive 3D model matching the art direction.
  4. Blender polish if needed.
  5. gltf-transform compress.
  6. 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.