
Si alguna vez jugaste videojuegos y apreciaste la consistencia del detalle (o notaste su ausencia) entre los elementos 3D a tu alrededor mientras te movías por el mundo del juego, experimentaste la buena (o mala) aplicación de un concepto llamado densidad de texel. La densidad de texel se refiere al número de píxeles de textura (texels) por unidad de superficie 3D.
Para crear la sensación de que los distintos props y escenarios pertenecen al mismo mundo, los artistas 3D deben mantener una densidad de texel consistente en todos los modelos 3D.
En videojuegos, la densidad de texel es especialmente importante porque afecta directamente tanto a la inmersión de los jugadores como al rendimiento del motor. Una densidad más baja puede mejorar el rendimiento, pero a costa de una menor calidad de textura; una densidad más alta mejora la calidad de textura, pero puede afectar negativamente al rendimiento.
Al crear renders como imágenes fijas o animaciones, gestionar la densidad de texel es igual de importante por los mismos motivos. En este artículo veremos más de cerca cómo pensar la densidad de texel al crear escenas 3D en general y cómo hacerlo en Blender usando un excelente addon de Ivan Vostrikov.
Combinar una buena gestión de densidad de texel y un servicio de granja de render online asequible, con soporte automatizado profundo para tu software 3D favorito, es una combinación perfecta. Si tienes proyectos que necesitan potencia extra de render, pruébanos: al registrarte en nuestra Blender render farm obtienes hasta 50 $ en créditos de render para testear nuestro servicio sin compromiso.
Miremos estos modelos de rocas:

Algo no se siente bien, ¿verdad? Si miramos de cerca, vemos que la roca más pequeña tiene texturas muy nítidas, mientras que la más grande se ve borrosa, y la restante queda en un punto intermedio incómodo. Todas comparten un único espacio UV, pero el tamaño de sus islas UV no refleja su tamaño real en el espacio virtual que ocupan.


Redimensionando las islas UV de cada roca de acuerdo con su tamaño, obtendremos un nivel de fidelidad más consistente entre las tres. Podemos hacerlo aplicando una textura de checker a los modelos y redimensionando las islas hasta que los cuadritos del checker tengan el mismo tamaño en todas las rocas.


Eso, en términos básicos, es la densidad de texel. Aunque la densidad de texel de un objeto o superficie es un valor absoluto, lo realmente importante es cuán proporcionadas son las densidades de los objetos circundantes respecto a él. Para ilustrarlo, digamos que vamos a crear un render basado en una imagen que encontramos en Pinterest:

Al planificar, conviene determinar temprano la densidad de texel con la que vamos a trabajar. Para esta imagen, el suelo puede ser un buen punto de partida, ya que está relativamente cerca de donde estaría la cámara. Empecemos creando un plano con una textura checker de 4096×4096 px:

El detalle de textura a ese tamaño y distancia de cámara parece suficiente, así que nos quedamos con él. Ya con un punto de referencia, empezamos a crear y desplegar (unwrap) nuestros modelos. Supongamos que eso ya está hecho.
Así está nuestra escena en este punto:

Para este artículo, trabajaremos con los elementos del primer plano y la ropa de los personajes, y dejaremos las montañas y a los personajes en sí para un artículo futuro sobre UDIMs.Podríamos aproximar la densidad de texel de cada elemento tomando como referencia el plano del suelo con checker, pero sería tedioso y, gracias al trabajo de Ivan Vostrikov, innecesario. En su lugar usaremos su práctico Texel Density Checker (addon gratuito en Gumroad; vale la pena dejar una donación).

Abramos el addon dentro del UV Editor:

Tenemos la isla UV del plano del suelo ocupando toda la cuadrícula 0–1, y sabemos que nuestra textura checker tiene resolución 4K, así que ajustamos Texture size en consecuencia y (arbitrariamente) usamos píxeles por metro como unidad.Al pulsar Calculate TD vemos que la isla ocupa casi el 100 % de la cuadrícula 0–1 y que la densidad es 524.665 px/m. Presionemos Calc → Set Value para establecer este valor como referencia para los demás UVs.

Ahora, si seleccionamos cualquier otra malla desplegada, podemos usar Set My TD para escalar sus islas UV en proporción al valor de referencia.

Empecemos por las lonas de la tienda: seleccionamos todas las islas en el UV Editor y elegimos Average en Set Method dentro del panel del Texel Density Checker. Elegir Average escalará todas las islas proporcionalmente al valor establecido.

Hagamos lo mismo con los postes de la tienda.Let’s do the same for the tent poles.


Como los postes son mucho más pequeños en comparación con el suelo, sus islas se han encogido en consecuencia y ahora nos queda mucho espacio libre en la cuadrícula UV, lo que sería un desperdicio de textura. Algunas formas de optimizar:

Cambiando Texture Size de 4096 a 2048 y pulsando Set My TD de nuevo, aprovechamos mejor el espacio.

En cualquier caso, usaremos esta táctica para la demostración.
Al usar Texel Density Checker, puede haber casos en los que fijar la densidad de texel de varias islas a la vez provoque solapamientos. Un apaño:

Usa la herramienta Annotate de Blender para marcar la longitud de una isla. Luego usa Pack Islands para asegurar un buen empaquetado.

Después, simplemente escala las islas hasta que la isla de referencia alineada con tu marca coincida.

Para abreviar, aquí va el layout UV final de todos los objetos logrado con los pasos anteriores (con algunos cambios en seams de ciertas mallas para mejorar la disposición):





Aquí está la comprobación de densidad para el render:

¡Cada elemento en el plano con el que trabajamos tiene una densidad de texel consistente!
Y aquí un render inicial como WIP:

Aunque la densidad de texel se discute más a menudo entre artistas de videojuegos, esperamos que este artículo haya mostrado lo esencial que es para el render 3D en general, y cómo empezar a incorporarla a tu práctica en Blender. Ten en cuenta, no obstante, que fuera del desarrollo para juegos hay menos restricciones técnicas, y el viejo axioma de “si se ve bien, está bien” sigue siendo válido.
Espero que te haya sido útil y, como siempre, ¡feliz render!