Wednesday, January 21, 2026

Props low-mid poly, Blender e Exportación (.glb)

Este es mi primer post de 2026 y, con el inicio de un nuevo año, también llegan nuevos aprendizajes. Cuando uno se concentra en algo específico y practica de forma constante, los días y las semanas pasan rápido, casi sin darse cuenta.

En este post voy a detallar el paso a paso para lograr una exportación correcta desde Blender hacia Godot, evitando artefactos visuales comunes que suelen aparecer cuando un modelo 3D no está bien preparado. Después de varios días de prueba y error, logré que un modelo se vea correctamente en el motor, sin líneas extrañas ni problemas de sombreado.

En este caso en particular, terminé un modelo de auto low poly, trabajado íntegramente en Blender. Actualmente estoy desarrollando varios objetos props de forma simultánea que luego debo incorporar al juego, así que me pareció una buena idea comenzar a documentar este proceso desde ahora.

Nota: Este flujo está probado en Godot 3.6 usando GLES3. En Godot 4 algunos comportamientos pueden variar.

Paso 1: Texturas, UVs y el problema del "Texture Bleeding"


Una vez finalizado el modelo, es fundamental prestar atención al mapa UV y a la textura. En este punto recomiendo NO usar un fondo transparente en la textura del modelo.

En motores de renderizado como Godot 3.6 (especialmente con GLES3), la transparencia se maneja de forma distinta a las superficies opacas. Acá aparece un problema muy común llamado Texture Bleeding.

Cuando una textura tiene transparencia (canal alpha) y Godot genera los Mipmaps —versiones más pequeñas de la textura que se usan cuando el objeto está lejos—, los píxeles transparentes de los bordes se mezclan con los píxeles de color. Esto genera un artefacto visual que se manifiesta como líneas blancas o claras que aparecen y desaparecen según la distancia de la cámara.

Para aclararlo mejor: cuando el fondo de la textura es transparente, Godot suele rellenar ese “vacío” con blanco o gris claro por defecto. Ese color se filtra hacia las islas UV en los mipmaps, creando esas líneas visibles a distancia. Cuando el jugador se acerca al objeto, el problema desaparece porque se usa la textura original en alta resolución.

Solución recomendada

👉 Usar siempre un fondo sólido en la textura.

Creá una capa debajo de todo y rellenala con un gris oscuro o negro. De esta forma, la textura será completamente opaca y Godot la tratará como un objeto sólido. Esto evita el bleeding y hace que las sombras y normales funcionen correctamente.

Paso 2: Ajustes finales en Blender

Si el modelo está compuesto por varios elementos, primero hay que unir los objetos:

  • Unir objetos: Ctrl + J

Antes de exportar, asegurate de que la geometría esté “sana”:

Merge by Distance

En Modo Edición:

  • Seleccioná todo (A)

  • Presioná MMerge by Distance

  • Usá un valor aproximado de 0.001 m

Esto elimina vértices duplicados que pueden causar parpadeos o errores de sombreado.

Weighted Normal

  • Agregá el modificador Weighted Normal

  • Colocalo al final de la lista

  • Activá Keep Sharp

  • En el objeto, activá Auto Smooth con un valor de 30° o 60°, según el redondeo que busques

Esto es clave para que el modelo low poly se vea limpio y sin sombras raras en Godot.

Paso 3: Configuración de exportación (.glb)

Al exportar desde Blender:

File → Export → glTF 2.0 (.glb)

Usá estos ajustes:

Include

  • Selected Objects 

Transform

  • +Y Up activado

Geometry

  • Apply Modifiers: SÍ (imprescindible para que el Weighted Normal quede grabado)

  • UVs:

  • Normals:

  • Tangents: SÍ (muy importante para evitar reflejos falsos en los bordes)

  • Vertex Colors:

Con esta configuración, Godot no “inventa” información extra y el modelo se importa tal como fue trabajado en Blender.

Cierre

Después de varios días de pruebas, este flujo fue el único que me dio resultados consistentes, sin artefactos visuales, parpadeos ni líneas indeseadas. Es un proceso simple, pero si se omite alguno de estos pasos, los errores aparecen tarde o temprano.

Voy a seguir documentando este tipo de ajustes a medida que avance con más props y modelos para el proyecto, ya que estos detalles hacen una gran diferencia en el resultado final dentro del motor.