Texturizado, o lo que necesitas saber para convertirte en un Artista de Surface. Parte 2. Máscaras y texturas.

Máscaras y texturas.


Continuamos una serie de lecciones sobre cómo convertirse en un artista de superficie.

Parte 1. Pixel aquí .
Parte 2. Máscaras y texturas : lo lees.
Parte 3. PBR y materiales aquí .
Parte 4. Modelos, normales y barrido aquí .
Parte 5. Sistema de materiales aquí .

Mascaras


En la última parte, vimos cómo funcionan los canales y nuestra primera máscara que creé: la máscara de transparencia.

La máscara de transparencia en el ejemplo de gato se creó usando un canal separado llamado Canal Alfa. Este canal también tenía una dimensión de 8 bits por píxel.

Cada píxel de máscara puede tener un valor de 0 a 255 (o hasta 1), donde 0 es un píxel completamente transparente y 255 (o 1) es un píxel completamente NO transparente.

Ahora, si observa el canal Alfa como un canal normal, quedará claro que no es diferente de ningún otro canal RGB. De hecho, todos estos son los mismos píxeles que tienen la misma intensidad de 0 a 255 (hasta 1). Este es el mismo degradado gris. Y si tomamos cualquier otro canal, lo copiamos y lo pegamos en el canal Alfa, habríamos tenido un efecto interesante:

imagen

La máscara se superpone en toda la imagen, pero donde la intensidad de píxeles es lo más brillante posible (cerca de 1 o 255), el color de la máscara es el más pequeño y donde la intensidad es lo más baja posible (más cerca de 0), entonces la máscara se muestra muy claramente al contrario:

imagen

Y ahora, si exporta dicha imagen y la abre en cualquier programa para ver imágenes, obtendrá la siguiente imagen:

imagen

La mayoría de los píxeles tienen una semitransparencia de acuerdo con la intensidad indicada en el canal alfa. Pero si la máscara de transparencia es la misma que la de otros canales, entonces la pregunta es: ¿es obligatorio usarla en el canal Alfa?

De hecho, no necesariamente. El canal alfa es necesario para que la imagen pueda guardar datos de color y tener datos de transparencia. Es decir, resulta que en la imagen 1 píxel tiene 3 canales requeridos, y el cuarto canal es opcional y opcional.

En total, en nuestra imagen no hay 32 bits de color, sino solo 24 bits de color (8 bits * 3 canales) + 8 bits de transparencia. Además, es posible que no incluyamos el canal de transparencia en la imagen, y luego el tamaño del archivo será 1/4 más pequeño.

¿Qué es una máscara?


Máscara en el texturizado (sí, probablemente, y no solo) Esta es una imagen que consiste en el primer canal y es necesaria para regular otros canales y visualizar los parámetros de textura (Esto ya es PBR, y definitivamente lo encontraremos más adelante).

Es decir, la máscara se usa para resolver 2 problemas:

  • Determinación del grado de transparencia.
  • Determinar la intensidad de algo en un píxel (más sobre eso más adelante, pero requerido).

De hecho, no es necesario dividir el trabajo de las máscaras en dos tareas: tanto allí como allí se usa un grado de intensidad, solo en el primer caso para la transparencia y en el segundo caso con el propósito de regular la apariencia de la textura.

Ahora examinaremos claramente el principio de funcionamiento de las máscaras en Substance Painter e intentaremos ponerle un sombrero a mi gato.

Para hacer esto, crearemos un nuevo proyecto, señalaremos y agregaremos nuestras fotos del sombrero y el gato al programa. (Nota: Substance Painter no le permitirá crear un proyecto sin un modelo 3D, por lo que creé un plano cuadrado en Autodesk Maya. Crear modelos está más allá del alcance de nuestros tutoriales, por lo que debe encontrar esta información usted mismo. Tampoco consideraremos la interfaz de Substance Painter en detalle. para no retrasar los tutores al máximo, sin embargo, está trabajando con Substance Painter por primera vez, luego, si no hace clic en nada adicional, todas las ventanas deberían mostrarse correctamente y no será difícil encontrar los parámetros necesarios).

imagen

A continuación, necesitamos crear 2 capas de relleno:

imagen

La capa de relleno en Substance Painter es un gran conjunto de parámetros sobre cómo debería verse la textura. Aquí puede personalizar visualmente la presentación de metal, plástico y cualquier otra textura. Sin embargo, hablaremos de esto más adelante, y ahora deberíamos tener una idea clara de que la capa de relleno es una imagen (Color), que consta de 3 canales y un montón de canales adicionales de 8 bits, que son responsables de cómo debería verse esta capa de relleno.

Es decir, la capa de relleno tiene una combinación más compleja que una imagen normal. En este caso, la capa de relleno consta de:

  • 3 canales principales que se asignan para el color del edificio. Estos tres canales se combinan en un parámetro BaseColor.
  • 3 canales adicionales, cada uno de los cuales es responsable de algún tipo de efectos visuales (por ejemplo, el canal Metal es responsable de la cantidad de píxeles que se considerarán metálicos en términos de texturas PBR).
  • 3 canales para trabajar con el mapa normal (Mapa normal).

Ahora no estamos interesados ​​en canales adicionales, ya que aún no nos hemos familiarizado con la textura PBR, y definitivamente volveremos a ellos más tarde, y ahora nuestra tarea es usar máscaras para controlar qué capas en los píxeles que necesitamos dominarán (en el caso de la mitad). máscara transparente), qué capas estarán completamente ocultas y qué capas se mostrarán de una manera única.

Ahora analizaremos esto en un gato y un sombrero, y luego pasaremos a colores monótonos más simples y analizaremos más profundamente el uso combinado complejo de máscaras para controlar las capas.

Nuestra tarea ahora es desactivar todos los canales de esta capa que no nos interesan en este momento. Debe deshabilitar los canales Altura, Áspero, Metal, Nrm (Normal) y dejar solo el color (color):

imagen

Ahora necesitamos distribuir nuestras imágenes en capas y configurar su visualización correcta. Para hacer esto, seleccione la capa, busque la imagen, impórtela a la carpeta Proyecto (en el panel Estante) y arrastre la imagen al parámetro Color base.

imagen

Repita esta acción con la segunda capa y el sombrero.

Es importante La capa con el sombrero debe tener una jerarquía más alta que el gato, ya que queremos que el sombrero esté EN el gato y no BAJO él. Recuerde que puede controlar la visibilidad de las capas con el botón en forma de ojo a la izquierda de la capa.

Dado que el proyecto está diseñado para texturas, y se supone que las texturas deben ser cuadradas (es deseable que el tamaño sea siempre un múltiplo de 2 m. Es decir, el tamaño de 64 * 64 píxeles es 2 * 2 * 2 * 2 * 2), entonces la imagen del gato se extenderá ligeramente en amplitud , ya que su fotografía es rectangular verticalmente, y Substance Painter la estiró en forma cuadrada.
En este sentido, necesitamos cambiar la escala de la imagen y estirar la foto en la capa verticalmente. Para hacer esto, desbloqueamos el bloqueo de preservación de la relación y ampliamos la imagen estableciendo la escala vertical en 0.7.

imagen

Ahora necesita ajustar el tamaño del sombrero de la misma manera, pero ahora ya no necesita desactivar las relaciones de guardado. Desde que obtuve un sombrero muy grande, al acercarme, un efecto como el mosaico comienza a funcionar: la textura comienza a repetirse horizontal y verticalmente, por lo que el sistema no permite dejar espacios vacíos si la imagen es más pequeña que el tamaño de la imagen final (en nuestro caso, menos de 1024x1024 píxeles).

Una pequeña digresión: ¿por qué necesitamos mosaico?

El mosaico es necesario cuando necesitamos rellenar algunos elementos de textura repetitivos. Por ejemplo, una cuadrícula o algún tipo de patrón de tela. La imagen a continuación tiene una estructura de imagen especialmente estructurada, de modo que si adjuntamos una copia de esta imagen desde arriba, desde abajo o desde cualquier lado, se verá como una imagen completa y más ancha (específicamente, en el ejemplo inferior, la imagen ya consta de 16 imágenes repetidas ):

imagen

Estas repeticiones se denominan patrones (o más simplemente, texturas sin costuras) y se crean para que pueda repetir estos patrones una y otra vez al menos un millón de veces. En el futuro, utilizaremos esta repetición para mejorar la calidad de la imagen, pero la usaremos principalmente al crear sombreadores, por lo que no volveremos a los mosaicos y patrones pronto.

Y entonces, continúa

Hicimos el sombrero de escala al tamaño que necesitamos. Ahora necesitamos colocar el sombrero más o menos sobre la cabeza del gato; para esto, comenzamos a torcer los parámetros Offset (shift), cambiando el sombrero que necesitamos al gato.

Tenemos sobre la siguiente imagen:

imagen

Bueno, ahora es el momento de usar máscaras para editar la visibilidad de la capa del sombrero. Las máscaras en Substance Painter se pueden crear de 2 maneras:

  • Crea una máscara en la capa misma, limitando su visibilidad.
  • Crea una carpeta donde puedas colocar la capa. Y poner una máscara en la carpeta.

La segunda opción le permite crear más combinaciones de máscaras, pero ahora estamos interesados ​​en el principio de la máscara en sí, y no en la complejidad de las combinaciones, por lo que crearemos una máscara en la capa e inmediatamente la pondremos negra. Para hacer esto, hacemos clic en la capa RMB y seleccionamos "Agregar máscara negra".

¿Y qué le sucede a un píxel cuando el canal de la máscara de transparencia de píxel es 0 (completamente negro)? Correctamente, el píxel se vuelve completamente transparente y no aparece en absoluto:

imagen

Como notó, ahora la capa consta de dos imágenes: una imagen es un sombrero y la segunda imagen es una máscara completamente negra. La máscara en Substance Painter (como en otros lugares, en principio) se crea a partir de un solo canal de 8 bits. Y ahora, controlando la intensidad, podemos dibujar en la máscara con sombras de gris, "mostrando" la capa superior. Cuanto mayor sea la intensidad de sombreado de píxeles, más brillante será la capa de píxeles con sombreros hasta que los píxeles se muestren por completo.

Ahora nuestra tarea es hacer visible el sombrero que necesitamos, y para esto debemos indicar en la máscara qué zona de la capa de relleno del sombrero se mostrará. Para hacer esto, seleccione la capa con la máscara y seleccione la máscara en sí (esto es importante, ya que no puede editar la capa de relleno, solo puede editar la máscara). Al seleccionar una máscara, la configuración del pincel se abre para nosotros, que dibujaremos en la máscara, y en la parte inferior de la configuración hay una configuración de escala de grises de 0 a 1 (de 0 a 255, respectivamente).

Ahora, dibujando una máscara sobre la cabeza de un gato, revelaremos un sombrero:

imagen

Bueno, y elimine el exceso con un cepillo con intensidad 0:

imagen

La máscara en sí se ve así:

imagen

Por lo tanto, la máscara nos permitió determinar qué área de la capa con sombreros para mostrar.
Bueno, esto se aplica a la edición de sellos. ¿Y cómo aplicarlo a las texturas en los juegos?

Combinaciones complejas de máscaras.


Ahora veamos un azulejo limpio para el piso. Más precisamente, su textura:

imagen

Ahora imagine que necesitamos crear una textura de mosaico que se dañe, con grietas y suciedad. Además, no solo la suciedad, sino solo la siguiente en la textura:

imagen

En consecuencia, ya sabemos cómo crear capas de relleno con texturas y ahora nuestra tarea:

  • Cree un nuevo proyecto con la misma configuración que en el anterior (los consideraremos estándar).
  • Crea 2 capas: una para los azulejos y la otra para la suciedad. Como la suciedad debe estar encima del azulejo, colocamos la capa con suciedad arriba.

Pero ahora no enmascaramos la capa con suciedad, sino que creamos una carpeta vacía para las capas y colocamos la capa de suciedad en esta carpeta (recuerde que la carpeta aún debe tener una jerarquía más alta que el mosaico).

Y la máscara ya está creada en la carpeta.

imagen

Ahora definamos las áreas en las que puede pintar la tierra (usted hace la suya y yo la mía). Y no olvide que para editar la máscara, debemos seleccionar la máscara en la carpeta, no las capas.

Entonces, obtuve la siguiente imagen:

imagen

No es una obra maestra, pero hemos identificado las zonas en las que se debe mostrar la suciedad.

Ahora cree otra carpeta en la carpeta con la capa de suciedad y transfiera la capa de suciedad a esta carpeta. En total, resultó que la capa de suciedad está en una carpeta que está en otra carpeta:

imagen

También crearemos una máscara en la nueva carpeta, pero esta vez no es un relleno sólido, pero seleccionaremos algo de las varias máscaras existentes. Por ejemplo, aquí lo encontré en Internet:

imagen

Offtop sobre la carga de imágenes a Substance Painter
Para cargar una imagen y luego usarla como máscara, debe transferirla al estante (a la carpeta) desde el navegador y seleccionar las siguientes opciones:
imagen

Quizás pueda especificar un formato diferente, en lugar de "textura", y la imagen seguirá conectada como una máscara, pero no lo sé (sugiera en los comentarios).


Establecer esta textura como una máscara es fácil. Haga clic derecho en la carpeta y seleccione Agregar máscara de mapa de bits. En la ventana que aparece, encuentre la textura que necesitamos y selecciónela como máscara. La jerarquía con carpetas comenzó a verse así:
imagen

Tenga en cuenta que en una pequeña ventana de vista previa cerca de la carpeta superior, en lugar de suciedad completa, comenzaron a mostrarse un montón de cuadrados con pequeños atisbos de suciedad. Este es el resultado de cómo se procesará la capa de suciedad actual, teniendo en cuenta todas las máscaras que hemos agregado.
Pero en general, obtuvimos la siguiente imagen:

imagen

En este ejemplo, teníamos una mezcla de máscaras. El primer nivel de la máscara determinó las áreas donde el 100% NO debería aparecer suciedad, y dónde puede aparecer. El segundo nivel de la máscara determinó dónde aparece el 100% de la suciedad y dónde no. Los píxeles en los que ambas máscaras tenían valores superiores a 0 comenzaron a mostrar suciedad dependiendo del límite inferior de intensidad (si la primera máscara tiene una intensidad de 0.5 en un píxel y 0.2 en la segunda, entonces el píxel será transparente a 0.2). En pocas palabras, cada píxel tiene en cuenta todas las máscaras que afectan su visualización. Y si al menos una máscara es 0, entonces el píxel no se mostrará.

Total:

Capas: este es el relleno de toda el área del proyecto, que tiene un montón de canales para controlar el estado de la imagen.

Una máscara es 1 canal de un píxel de imagen (textura) que se necesita para procesar la visibilidad de algo.

El número de canales para el primer píxel puede ser muy grande. Con la configuración estándar, Substance Painter ya tiene en cuenta 9 canales en la primera capa: 3 por color y 3 para varios efectos, 3 en mapas normales. La imagen en sí misma en la imagen de su navegador contiene solo 3 canales + 1 adicional, si hay transparencia.

Además, las capas pueden superponerse entre sí, y el programa ya hace cálculos para 1 píxel mucho más grandes que para 9 canales. Es decir, en el caso de mezclar 2 capas en el primer píxel, el software necesita calcular 9 canales de una capa, luego tener en cuenta la transparencia que se especificó en el canal de máscara y calcular la intensidad total de píxeles teniendo en cuenta la máscara. Luego debe calcular la segunda capa y sus 9 canales. Luego aplique una capa translúcida en la parte superior. Total de 18 canales de capas y 1 canal de mezcla. Por supuesto, cuando lo cargue en imágenes (texturas), no habrá 19 canales: Substance Painter creará 3 imágenes (texturas):

  • Imagen (textura) con color (3 canales por píxel).
  • Imagen (textura) con canales para parámetros PBR.
  • Imagen (textura) para determinar las normales.

Es decir, Substance Painter ya hará todos los cálculos para que pueda obtener el resultado final en la imagen. Bueno, como saben, no será posible controlar la máscara de transparencia de la suciedad en estas imágenes: las imágenes (texturas) en este caso se obtienen como resultado final, que podemos colocar en el modelo y obtener un modelo de color.

Textura


Intencionalmente escribí en los resultados sobre las máscaras "Imagen (textura)", para que comiences a posponer la comprensión de que la textura, de hecho, no es una imagen en nuestro sentido habitual.

Una textura es un conjunto de parámetros para que los motores de juegos o programas para trabajar con texturas entiendan cómo procesar un píxel.

Una textura puede contener 1 canal. Por ejemplo, por transparencia. O puede contener 3 canales a la vez para diversos fines (por ejemplo, para los parámetros del trabajo metálico, rugosidad y sombreado).

Existen muchas variedades de aplicación de texturas, pero todas se reducen a una sola cosa: trabajar con 1 o más canales.

Por ejemplo, la textura de la cavidad (grietas) generalmente describe los bordes (bordes) del objeto en el escaneo, resaltando los píxeles con el máximo blanco a lo largo de toda la longitud de los bordes. Pero, de hecho, es solo una textura, cuyo canal está destinado a mostrar la intensidad de los píxeles en los puntos correctos. Tal textura se puede usar, por ejemplo, para máscaras de barro, es decir, en ella podemos mostrar suciedad en el objeto.

Aplicar máscaras fuera de los programas de texturizado.

Se necesitan máscaras no solo para programas como Substance Painter. En los motores de juego, la textura es muy similar al trabajo de Substance Painter: puede pegar las texturas terminadas de Painter, o puede comenzar a personalizar sombreadores (materiales) a voluntad, combinando texturas a través de máscaras de varias maneras. Y si Painter da un resultado listo, entonces un sombreador basado en máscara hace cálculos sobre la marcha (hablando en línea).

Un poco de texturas PBR


Según cómo funciona la textura y por qué es necesaria, puede explicar muy rápidamente qué es PBR.

PBR es un renderizador de texturas basado en la física. Es decir, este es un conjunto de parámetros que controlan para que la textura se vea cinemática.

Para esto, se utilizan parámetros que son responsables de cómo se debe mostrar la luz en un píxel.

Aquí hay una lista de estas opciones:

  • Metálico Responsable de representar el píxel como metal. Con qué facilidad se refleja la luz de un píxel.
  • Rugosidad Responsable del grado de rugosidad de píxeles. Cuánta luz se dispersa en contacto con el píxel.
  • Oclusión ambiental (en desuso). Responsable del sombreado de píxeles. Ese parámetro, que se está volviendo obsoleto y, pronto, no se utilizará en absoluto.
  • Mapa normal Es responsable de cómo se puede distorsionar la luz en un píxel, creando una profundidad o curva falsa imaginaria.
  • Albedo (Color) — , .

, , . , .

, , 1 (255), , .

imagen

Roughness ( , 1 255), , , :

imagen

, , - . — , , , .

PBR . .

- — , .

=)

Source: https://habr.com/ru/post/458470/


All Articles