Compartir vía


Introducción a la renderización física

La renderización física, o PBR, simula cómo los materiales reaccionarían al comportamiento de la iluminación realista. Ciertas propiedades metálicas proyectarán reflejos, y la luz se desviará y refractará a través de distintos tipos de cristal.

En esta guía, aprenderás algunos flujos de trabajo básicos para el diseño de texturas de PBR en Minecraft: Bedrock Edition. Crearás una serie de texturas que presente cada tipo nuevo de mapa de texturas.

Al final de esta guía, habrás aprendido lo siguiente:

  • Cuáles son los mapas de texturas nuevos disponibles para las texturas en Minecraft
  • Cómo crear un conjunto de texturas espejo con mapas de rugosidad y metálicos

Requisitos

Tendrás que completar los siguientes tutoriales:

Si bien se proporcionarán las texturas, debes contar con un software de pintura digital que tenga capas para crear tus texturas.

¿Qué distingue a una textura de PBR?

Las texturas usan un método común de renderizado llamado mapeo de texturas. Los mapas de texturas les permiten a los creadores disponer varias imágenes en capas para crear objetos 3D muy detallados. Las texturas originales de Minecraft usan un solo mapa llamado color. Los mapas de color están formados por cuatro canales de colores: rojo, azul, verde y alfa (colectivamente conocidos como RGBA). Los tres primeros canales controlan cómo se representará la textura, mientras que alfa controla la transparencia de la textura.

Con la introducción de PBR en Minecraft, ahora las texturas pueden usar cinco mapas adicionales para que los creadores puedan crear materiales realistas.

Cada mapa será parte del conjunto de texturas establecido para el bloque, todos superpuestos uno encima del otro para establecer distintos valores en la textura. Gracias a este proceso, el creador tiene un gran control sobre cómo se verá un bloque cuando se coloque en el mundo.

Importante

No todos los conjuntos de texturas de PBR necesitan todos los mapas. Si dejas mapas vacíos, el conjunto de texturas usará el valor predeterminado.

Mapa metálico

Un mapa metálico es una textura en escala de grises que determina qué áreas de un mapa de texturas se parecen al metal.

  • Se considera que un píxel establecido en negro tiene un valor de0 y es no metálico. El pasto, la tierra y la corteza de árbol son algunos ejemplos de objetos no metálicos.
  • Se considera que un píxel establecido en blanco tiene un valor de1 y se lo tratará como si fuera totalmente metal. El hierro, el oro y el cobre son algunos ejemplos de objetos metálicos.

bloque blanco de concreto con bordes metálicos y un centro mate

En la imagen anterior, se usa el siguiente MER:

bloque blanco de concreto con textura MER metálica

Mapa emisor

Un mapa emisor es una textura en escala de grises que determina qué áreas de un mapa de texturas emiten luz.

  • Se considera que un píxel establecido en negro tiene un valor de0 y no brilla.
  • Se considera que un píxel establecido en blanco tiene un valor de1 y está en su punto máximo de brillo.
  • Dado que el mapa está en escala de grises, puedes establecer valores entre0 y1.

bloque blanco de concreto con franjas verticales resplandecientes

En la imagen anterior, se usa el siguiente MER:

bloque blanco de concreto con textura MER emisora

Mapa de rugosidad

Un mapa de rugosidad es una textura en escala de grises que determina qué áreas de un mapa de texturas emiten luz.

  • Se considera que un píxel establecido en negro tiene un valor de0 y se lo tratará como si fuera muy liso. Los objetos como el mármol liso, el cristal y el plástico liso son muy lisos.
  • Se considera que un píxel establecido en blanco tiene un valor de1 y se lo tratará como si fuera muy rugoso. El ladrillo, la corteza de árbol y la piedra son muy rugosos.
  • Dado que el mapa está en escala de grises, puedes establecer valores entre0 y1.

bloque blanco de concreto con franjas horizontales rugosas y lisas

En la imagen anterior, se usa el siguiente MER:

bloque blanco de concreto con textura MER de rugosidad

Mapa normal

Un mapa normal es una textura RGB que controla la profundidad y cómo se comporta la luz cuando un rayo de luz ilumina a la textura.

  • Dado que los mapas normales usan RGB, puedes crear detalles en la superficie que le dan a la textura la apariencia de un objeto 3D esculpido.
  • Si se establecen los valores RGB en 128,128 y255, respectivamente, el píxel tendrá una apariencia plana.

Precaución

A menos que tengas experiencia previa con la creación de mapas normales, se recomienda que no crees mapas normales de forma manual. Para esto, hay software de terceros que pueden ayudarte.

Mapa de altura

Un mapa de altura es una textura en escala de grises que controla la profundidad de una textura. Los mapas de altura son una alternativa a los mapas normales, pero no son tan eficientes y no pueden representar la misma cantidad de texturas.

  • Se considera que un píxel establecido en negro tiene un valor de0, por lo que estará extruido hacia adentro.
  • Se considera que un píxel establecido en blanco tiene un valor de1, por lo que estará extruido hacia afuera.
  • Se considera que un píxel establecido en0.5 tiene la altura predeterminada y no estará extruido hacia adentro ni hacia afuera.

bloque blanco de concreto con crestas en un patrón cuadrado

En la imagen anterior, se usa el siguiente mapa de altura:

bloque blanco de concreto con textura MER de altura

Haz un espejo

Vamos a crear una textura espejo para un bloque de cristal original existente. Para ello crearemos un archivo JSON de conjunto de texturas y usaremos un archivo de texturas proporcionado.

Haz un archivo JSON de conjunto de texturas

Para que el conjunto de texturas funcione correctamente, tienes que definir un archivo JSON para cargar las texturas. Este tutorial es un ejemplo de espejo que funciona con el bloque iron_block.

Sugerencia

Para obtener más información sobre los conjuntos de texturas, visita Documentación sobre los conjuntos de texturas: introducción a los conjuntos de texturas.

  1. En tu pack de comportamiento, navega a la carpeta textures/blocks.
  2. Crea un archivo .JSON nuevo y llámalo iron_block.texture_set.json.
  3. Haz doble clic en iron_block.texture_set.json para editar el contenido.
  4. Copia el siguiente ejemplo.

iron_block.texture_set.json

{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "iron_block",
    "metalness_emissive_roughness": "iron_block_mer",
}
  1. Guarda y cierra el archivo.

Una vez que hayas terminado con el archivo JSON, puedes configurar las texturas para el valor color y el valor metalness_emissive_roughness.

Agrega la capacidad de trazado con rayos

El archivo manifest.json para el pack requiere que se agregue el valor "raytraced" a la sección capabilities debajo de tus header y modules existentes.

{
    "format_version": 1,
    "header": {
        "name": "RTX Sample Resources",
        "description": "",
        "uuid": "58d4560c-106d-4b0c-9847-eee47417fb05",
        "min_engine_version": [1, 12, 0],
        "version": [1, 0, 0]
    },
    "modules": [
        {
            "description": "",
            "type": "resources",
            "uuid": "2d3df25b-856a-406d-9a57-c87b9a4d7af8",
            "version": [0, 0, 1]
        }
    ],
    "capabilities" : [
        "raytraced"
    ]
}

Agrega las texturas

Para crear un espejo en un flujo de trabajo de PBR, necesitas un mapa de rugosidad y uno de metal.

Un mapa de rugosidad con un valor de0.0, o negro sólido, creará una superficie lisa que reflejará la luz.

Un mapa de metal con un valor de1.0, o blanco sólido, representará el bloque como si fuera metal reflectante.

Con este espejo configurado, el motor Render Dragon podrá realizar un trazado de rayos y tardará menos en los cálculos de estos objetos.

Textura de color principal: iron_block.png textura de bloque de hierro predeterminada de Minecraft

Textura de PBR: iron_block_mer.png textura MER de bloque de hierro para el efecto de espejo

  1. Guarda los archivos iron_block.png y iron_block_mer.png.
  2. Copia y pega ambos archivos .png en la carpeta textures/blocks.

Ejecuta el pack de textura

Ahora que el archivo JSON está configurado correctamente y ambas texturas están en su lugar, puedes cargar tu pack de texturas y probarlo en Minecraft.

bloque de hierro que refleja flores del entorno

¿Cuál es el siguiente paso?

Tutorial de renderización física

Creaste un espejo con mapas de rugosidad y de metal. Ahora puedes consultar la próxima parte de esta guía, en la que se cubre cómo crear texturas personalizadas para crear tu propio conjunto de texturas.

Niebla en recursos

Junto con el trazado de rayos, se ha actualizado la niebla en Minecraft para usar una estructura JSON similar, que te permite crear y controlar su aspecto en el juego.