Ir al contenido

blender-web-pipeline

  • Grupo: 3D / WebGL
  • Cuándo se activa: Exportar/optimizar modelos de Blender a glTF para web
  • Se instala: Opcional: llega con un paquete de skills.

Documentación completa upstream (inglés): SKILL.upstream.md (613 líneas). No la leas entera: usa el mapa y lee solo la sección que necesites (Read con offset/limit o Grep).

  • Usar: exportar .blend a .glb con compresión Draco y texturas reducidas para Three.js, R3F, Babylon o PlayCanvas.
  • Usar: automatizar con blender --background --python, procesar lotes, generar LODs, hornear (bake) materiales complejos.
  • Usar: un .glb pesa demasiado, faltan texturas, la animación no se reproduce o los materiales se ven distintos en web.
  • NO usar: cargar/renderizar el modelo en el navegador → threejs-webgl, react-three-fiber, babylonjs-engine, playcanvas-engine.
  • NO usar: pintar texturas PBR → substance-3d-texturing; patrones de integración 3D en la web → web3d-integration-patterns.
Tarea Lee solo
Empezar un proyecto/starter (primera exportación) SKILL.upstream.md L80-110 (§1. Basic glTF Export) + L572-588 (§Export Settings)
Exportar por lotes / CLI L112-168 (§2. Python Script for Batch Export) + L324-359 (§7. Command-Line Automation) o scripts/batch_export.py
Reducir peso (polígonos, texturas, LOD) L170-195 (§3. Decimation), L253-322 (§5-6 LOD y compresión) + references/optimization_strategies.md
Cargar el .glb en Three/R3F/Babylon L361-419 (§Integration Patterns)
Depurar / rendimiento L489-551 (§Common Pitfalls) + L553-570 (§Pre-Export Checklist)
Líneas Sección Para qué
8-27 Overview Alcance y capacidades del pipeline
28-77 Core Concepts glTF vs GLB, bases de bpy, métricas objetivo (<5 MB, <50k tris, 2048 px máx)
78-359 Common Patterns Exportación básica, lote, decimación, baking, LODs, compresión de texturas, CLI
197-251 4. Texture Baking for Web Hornear materiales en una sola textura con Cycles
361-419 Integration Patterns Carga con GLTFLoader+DRACOLoader, useGLTF, SceneLoader.ImportMesh
421-487 Optimization Techniques Remove doubles, triangular, JPEG, atlas UV, Principled BSDF
489-551 Common Pitfalls Archivos enormes, texturas ausentes, animaciones, materiales, exportación lenta, lag
553-588 Best Practices Checklist pre-exportación y parámetros recomendados de export_scene.gltf
590-613 Resources / Related Skills Índice de scripts, references y skills relacionadas
  • references/gltf_export_guide.md — Referencia completa de opciones de exportación glTF.
  • references/bpy_api_reference.md — Chuleta de la API Python de Blender.
  • references/optimization_strategies.md — Técnicas de optimización detalladas (geometría, texturas, materiales).
  • scripts/batch_export.py — Exporta todos los .blend de una carpeta a .glb: blender --background --python scripts/batch_export.py -- /entrada /salida.
  • scripts/optimize_model.py — Decima y reduce texturas de un modelo: blender --background modelo.blend --python scripts/optimize_model.py.
  • scripts/generate_lods.py — Genera copias LOD0-2: blender --background modelo.blend --python scripts/generate_lods.py.
  • assets/README.md — Solo descripción; el upstream cita export_template.blend y shader_library/ pero NO existen en el paquete.
  • Exporta siempre GLB binario con export_apply=True y Draco activado (nivel 6; 8 si prima el tamaño); objetivo <5 MB (ideal <1 MB) y <50k triángulos.
  • Texturas máximo 2048 px (preferible 1024), JPEG con calidad 85 salvo que se necesite alpha; sin luces ni cámaras exportadas (recréalas en código).
  • Solo materiales Principled BSDF con canales soportados (Base Color, Metallic, Roughness, Normal, Emission); los nodos personalizados no se exportan.
  • Antes de exportar: aplicar modificadores y transformaciones, merge por distancia, limpiar datos huérfanos, animaciones en timeline con acciones asignadas.
  • Si usas Draco, la web debe registrar el decodificador (DRACOLoader.setDecoderPath), o el modelo no cargará.
  • Detecta el stack como indica la skill front-activation/skill-router (senzu/senzu.json → package.json). Esta skill se ejecuta fuera del front (Blender + Python); su salida .glb se consume desde threejs-webgl (vanilla/Vue/Astro), react-three-fiber (React) o babylonjs-engine. Coloca los .glb en public/models/ y el decodificador Draco en public/draco/.