Bake: Usando Marmoset para optimizar nuestros assets High Poly

Clase 12 de 33Curso de Texturizado de Escenarios para Videojuegos

Contenido del curso

Resumen

Transferir los detalles de un modelo high poly a uno low poly es uno de los procesos más importantes en la creación de assets 3D para videojuegos. Aquí se recorre todo el flujo de trabajo dentro de Marmoset Toolbag, desde la preparación del modelo en Blender hasta la obtención de cada textura bakeada lista para texturizar.

¿Cómo preparar el modelo en Blender antes de bakear?

Antes de abrir Marmoset, hay que verificar tres elementos fundamentales en Blender [0:08]:

  • El modelo low poly debe coincidir en posición y origen con el modelo high poly.
  • La nomenclatura debe ser consistente: el nombre del objeto lleva un _low al final, y el modelo high poly comparte el mismo nombre base con _high.
  • El objeto necesita un color ID, que es un material de color sólido asignado a distintas partes de la malla para referenciar materiales dentro del programa de texturizado.

Para exportar se usa el formato FBX [1:05], el más utilizado en la industria. En las opciones de exportación hay que activar la selección de objetos, exportar solo la malla, configurar el vector hacia adelante en X y el vector hacia arriba en Z. En la sección de geometría se seleccionan las normales de cara y se habilita la exportación del espacio tangencial.

¿Cómo funciona la interfaz de bake en Marmoset Toolbag?

Marmoset presenta tres áreas principales: una jerarquía de objetos, el entorno 3D y un panel de materiales y texturas [2:08]. Para iniciar el proceso de bake se selecciona el ícono de New Baker, que genera automáticamente un grupo con espacios para cargar el modelo low y el modelo high.

¿Cómo importar los modelos?

Desde el botón Load se importa primero el modelo low poly y luego el high poly [2:30]. Este último puede tardar más porque contiene una alta densidad de polígonos. Una vez cargados, ambos modelos deben superponerse perfectamente gracias a que comparten la misma posición de origen.

¿Qué configuraciones son esenciales antes de bakear?

En la sección de bake se selecciona el espacio tangencial en formato MikkT [3:40], que es el estándar usado por Unreal Engine y otros motores de desarrollo.

El panel de output permite definir la ruta de exportación de las texturas [4:05]. Se recomienda organizar las carpetas por asset. El formato de imagen sugerido es Targa (.tga), que ofrece alta calidad en color e información. También se puede agregar un prefijo al nombre, como tex_, para identificar rápidamente los archivos como texturas.

Otras opciones relevantes:

  • Samples: determina cuántas veces el programa revisa el modelo high poly; más muestras implican mayor tiempo de renderizado [4:55].
  • Bits por canal: se deja en 8 bits para la mayoría de los casos.
  • Padding: controla cuánto se extiende la textura fuera de las islas UV para evitar costuras visibles; un valor moderado funciona bien [5:10].
  • Multiple texture sets: si el low poly tiene varios materiales, Marmoset genera texturas separadas para cada uno [5:30].

¿Qué texturas se obtienen del proceso de bake?

Cada textura captura información distinta del modelo high poly y la proyecta sobre el low poly [6:00]:

  • Normal map: almacena los detalles de superficie y relieve del modelo de alta resolución.
  • Ambient occlusion: registra las sombras propias del objeto, las zonas donde la luz ambiental no llega con facilidad.
  • Material ID: exporta los colores asignados al low poly para referenciar materiales en el programa de texturizado.
  • Position map: un gradiente en RGB que indica la altura y posición del objeto respecto al suelo [6:20].
  • Thickness: funciona como el inverso del ambient occlusion, mostrando normales invertidas para representar el grosor del objeto [6:30].
  • Curvature: un gradiente en escala de grises que revela las concavidades y convexidades de la superficie; negro indica geometría hundida y blanco indica zonas que sobresalen [7:50].

Antes de ejecutar el bake final, Marmoset permite hacer un preview [7:15] que muestra cómo se verá el modelo con todas las texturas aplicadas. El resultado es un low poly que luce prácticamente idéntico al high poly, con todos sus detalles proyectados como información de textura.

Una función adicional muy útil es el quick loader [8:50], que importa múltiples archivos a la vez. Si la nomenclatura es correcta (_low y _high), el programa organiza automáticamente cada par en su grupo de bake correspondiente. El inconveniente es que este proceso puede tomar bastante tiempo con muchos assets.

La clave de un bake exitoso está en la preparación: nomenclatura consistente, posición alineada y configuraciones correctas. Con estos fundamentos claros, cada textura generada estará lista para aplicarse en el programa de texturizado y dar vida al escenario final. ¿Has tenido algún error al bakear que te costó resolver? Comparte tu experiencia en los comentarios.