Colores y materiales en Unity

Resumen

Aplicar color a un modelo 3D en Unity no es pintar sobre una superficie: es decirle a la tarjeta gráfica cómo renderizar cada píxel. Para lograrlo necesitas tres piezas que trabajan juntas, materiales, shaders y texturas, más un componente extra que arregla los reflejos cuando algo debería brillar y no lo hace.

Esta guía es para ti si estás empezando con Unity y quieres entender por qué un objeto 3D necesita tanta capa antes de mostrar un simple verde oscuro en una frazada.

¿Por qué un modelo 3D necesita materiales para tener color?

Un modelo 3D vive en disco como tripletas de números. Cada vértice es una coordenada X, Y, Z flotando en el espacio, conectada a otros vértices por bordes que forman superficies.

Esas superficies se llaman polígonos, y cualquier polígono se puede triangular. Cuando un mesh está formado por muchos polígonos irregulares hablamos de n-gons, pero al final el motor los reduce a triángulos para renderizar.

¿Y el color dónde entra? Cada triángulo se mapea a una superficie en 2D. El motor gráfico toma esa superficie, la conecta con una imagen y proyecta esa imagen sobre el triángulo. Ese es el truco para que un puñado de números termine viéndose como una pared de ladrillo o la piel de un personaje [02:00].

¿Qué es un mesh en Unity? Es la estructura geométrica de un objeto 3D: vértices conectados por bordes que forman superficies poligonales. Vive en memoria como datos puros y necesita un renderer para mostrarse.

¿Cuál es la diferencia entre material, shader y textura?

Las tres palabras suenan parecidas y se confunden seguido, pero hacen cosas distintas dentro del pipeline gráfico.

El shader es un programa que le dice a tu tarjeta gráfica cómo debe renderizar cada píxel. Si un píxel pertenece a un modelo 3D, el shader define cómo se ve ese píxel cuando hay luz directa, cuando está en sombra o cuando no recibe luz [03:30].

El material es la representación práctica del shader sobre un objeto. Es la capa que dice hay luz aquí, entonces me pinto así; hay sombra allá, entonces reacciono asá. Un material puede tener color, números que controlan brillo o nivel metálico, y también texturas.

La textura es la imagen que se mapea sobre el objeto. El rostro de un personaje pintado sobre una cabeza 3D es una textura aplicada a través de un material que usa un shader.

En Unity todo esto se conecta con componentes. El mesh filter guarda la información geométrica y el mesh renderer le dice al motor gráfico cómo mostrar ese mesh, y es justo el mesh renderer quien contiene el material.

¿Cómo crear y aplicar materiales en Unity paso a paso?

Para crear tu primer material haces clic derecho en la ventana Project, eliges Create y luego Material. Le pones un nombre, por ejemplo Frazada, y ya puedes editarlo en el inspector.

En el inspector verás dos campos clave:

  • El campo Shader, que define qué programa de render se usa. Por defecto viene en Standard.
  • El campo de color principal, donde eliges el tinte del material.

Para aplicarlo, arrastras el material desde Project hacia el objeto en la escena. Si quieres pintar la silla del mismo verde de la frazada, arrastras el mismo material y listo, comparten color.

¿Qué pasa si dos objetos comparten el mismo material?

Aquí está el detalle que rompe a muchos principiantes: los materiales se comparten. Si modificas un material que está aplicado a la frazada y a la silla, ambos cambian al mismo tiempo.

La solución es duplicar. Seleccionas el material, presionas Ctrl + D, le cambias el nombre, por ejemplo a Silla, y arrastras ese duplicado sobre el objeto que quieres independizar. Ahora cada objeto tiene su propio material y puedes pintarlo distinto sin afectar al otro.

¿Por qué cambia el color de varios objetos a la vez en Unity? Porque comparten el mismo material. Duplica el material con Ctrl + D y asigna la copia a uno de los objetos para separar sus propiedades.

¿Cómo controlar brillo, metálico y tipo de shader?

Dentro del shader Standard tienes propiedades que cambian la sensación física del material.

La propiedad smoothness controla qué tan pulido se ve. Bajo equivale a una superficie áspera tipo tela seca. Alto equivale a una superficie pulida que parece mojada o de plástico brillante.

La propiedad metallic le dice al motor que el material es metálico, perfecto para las patas de una silla. Si subes metallic y smoothness al máximo y eliges un color plateado, el material debería reflejar el entorno [08:50].

También puedes cambiar el shader completo. Si en el campo Shader eliges Unlit, el material deja de reaccionar a la luz: se ve como un color plano y fosforescente, sin sombras ni iluminación. Unlit viene de un (sin) y lit (iluminado).

¿Por qué un material metálico no refleja y cómo arreglarlo con reflection probes?

Si configuras un material metálico y suave pero el objeto se ve negro y sin reflejos, el problema no está en el material: está en que la escena no tiene información de reflejo cercana.

La solución se llama reflection probe. Es un objeto en forma de esfera que captura el entorno alrededor de un punto y lo usa como mapa de reflejos para los materiales metálicos cercanos.

Para añadirlo haces clic derecho en la jerarquía, vas a Light y eliges Reflection Probe [10:20]. Por defecto viene en modo Baked, lo que obliga a hornear los reflejos manualmente. Si lo cambias a Real time, la sonda actualiza el reflejo en vivo y verás el entorno proyectado sobre el metal.

Si el reflejo se ve raro, por ejemplo con una franja azul abajo porque la esfera capta el agua o el cielo, puedes mover el reflection probe hacia arriba, desactivarlo y volver a activarlo para que recalcule la captura.

¿Cuántos materiales puedo usar sin afectar el rendimiento?

Mientras más materiales tenga tu escena, más recursos consume el render. La recomendación es no crear materiales sin control, aunque tampoco te obsesiones: en la práctica el problema aparece a partir de 100 o 1000 materiales simultáneos, no con 10 o 20.

Lo que sí debes recordar siempre:

  • Los materiales se comparten entre objetos por defecto.
  • Cada material depende de un shader, sea Standard, Unlit u otro.
  • Las propiedades como smoothness y metallic cambian la percepción física del objeto.
  • Los reflejos metálicos necesitan un reflection probe para verse correctos.

¿Qué color le pondrías tú a la silla de la habitación? Cuéntamelo en los comentarios y comparte cómo configuraste tu primer material metálico.