Tutoriales 3Dcomunity

Guías claras para: STL → GLB, previsualizar con <model-viewer> y publicar en Oasis/SSB. Mantén los modelos ligeros, accesibles y fáciles de compartir.

Inicio rápido (≈10 min)

1) Estructura mínima

.
├─ index.html
├─ /modelos
│   └─ ejemplo.glb
├─ /thumbs
│   └─ ejemplo.jpg
└─ /assets
    └─ 3d_comunity_cool.webp
  • Pon .glb en /modelos y miniaturas en /thumbs.
  • Usa rutas absolutas (/modelos/…) para evitar problemas en subdirectorios.

2) Visor web (<model-viewer>)

<script type="module"
  src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>

<model-viewer src="/modelos/ejemplo.glb"
  camera-controls auto-rotate
  shadow-intensity="1" exposure="1.05"
  style="width:100%;height:420px;background:#000;border-radius:10px;">
</model-viewer>
  • Funciona en escritorio y móvil sin plugins.
  • Controla luz, auto-rotación y exposición.

Pipeline: de STL a GLB

Limpieza y reducción

  • Importa el STL en Blender.
  • Repara normales y elimina vértices duplicados.
  • Aplica Decimate si pesa demasiado.
  • Materiales sencillos (PBR si procede).

Exportar a GLB

File → Export → glTF 2.0
Format: GLB (binary)
Include: Selected Objects (opcional)
Compression: Draco (si compensa)
Materials: Export
  • GLB empaqueta geometría, materiales y texturas.
  • Si usas Draco, prueba en varios dispositivos.

Visor 3D en la web

Snippet base

<model-viewer src="/modelos/ejemplo.glb"
  camera-controls auto-rotate
  ar ar-modes="webxr scene-viewer quick-look"
  poster="/thumbs/ejemplo.jpg"
  shadow-intensity="1" exposure="1.05">
</model-viewer>
  • Usa poster para una carga elegante.
  • Activa ar para móviles compatibles.

Publicar en Oasis/SSB

Metadata simple

{
  "name": "ejemplo",
  "author": "taller3d",
  "tags": ["utilidad","mini"],
  "files": { "glb": "/modelos/ejemplo.glb",
             "thumb": "/thumbs/ejemplo.jpg" }
}
  • Guárdalo como /modelos/ejemplo.json.
  • Te servirá para tarjetas y filtros.

Subir a tu PUB

  • Sirve HTML+CSS+GLB vía Nginx.
  • El PUB facilita discovery y replicación.

Despliegue estático (Nginx)

Ejemplo mínimo

server {
  listen 443 ssl http2;
  server_name 3dcomunity.net;

  root /var/www/3dcomunity/public;
  index index.html;

  location / { try_files $uri $uri/ =404; }

  types { model/gltf-binary glb; }
}
  • Asegura el MIME model/gltf-binary para .glb.
  • Rutas absolutas en tus HTML.

FAQ

¿Peso ideal de un GLB para móvil?

Apunta a < 10 MB (ideal 2–5 MB). Simplifica malla y texturas.

¿Usar STL directamente en navegador?

Mejor no: STL suele pesar más y no trae materiales. Exporta a GLB.

¿Cómo organizar muchos modelos?

/modelos + /thumbs + /modelos/*.json (metadata) para filtrar y paginar.