UNITY Materiales
Revisión del 18:24 28 oct 2018 de Wiki (discusión | contribuciones) (Página creada con «=Introducción= * Máis información en [https://docs.unity3d.com/Manual/Materials.html este enlace]. * Los materiales van a estar asociados a figuras 3D. : Los materiale...»)
Sumario
Introducción
- Máis información en este enlace.
- Los materiales van a estar asociados a figuras 3D.
- Los materiales van a:
- Guardar la textura asociada a el material creado, que después será aplicado a un Mesh (objecto 3D). Esta sería la textura sin ningún tipo de fuente de luz aplicada al material.
- Guardar la información necesaria para determinar como una fuente de luz va a reflejarse sobre el Mesh (son los Normal Vector, lo veremos después).
- Características del material que hacen que la luz se refleje de forma diferente (haciendo que el material adapte características como transparencia, metálico,...)
- Pensemos en el mundo real.
- Un objeto metálico refleja la luz de forma diferentes a un trozo de madera.
- Un cristal permite ver lo que está a través de él...
- Todas estas características físicas son modelizadas haciendo uso de materiales.
Creando un material
Normal Map
- Alguna de las imágenes de esta sección han sido obtenidas del manual de Unity.
- Este mapa representa la forma en como los rayos de luz se reflejan sobre la superficie de un objeto.
- Si no disponemos de él, Unity hará uso del Mesh empleado para el diseño del objeto3D y hará que la luz se refleje siguiendo dicho modelo:
- Normal Map aplicado a un cilindro
- Estaréis pensando: Vale, ¿ pero en qué me influye a mi el reflejo de la luz sobre una figura 3D ? ¿ Cual puede ser la aplicación práctica ?
- Imagináis que tenéis un muro hecho con piedras.
- La figura 3D que representa el muro es plana, como un cubo alargado o cualquier otra combinación de figuras 3D que podemos tener en un programa de diseño 3D.
- Si aplicamos sobre dicha figura una textura de piedras, tendremos algo parecido a esto:
- Como podemos apreciar, las piedras aparecen 'planas' sobre la superficie.
- Esto es así ya que el modelo 3D no 'incorpora' este tipo de detalle. Hacerlo supondría tener que dibujar muchos más triángulos con el consiguiente coste de CPU-Memoria.
- Gracias a los 'Normal Map' podemos 'simular' que las piedras realmente tienen un volumen 3D, como en la siguiente imagen:
- Otro efecto que podemos conseguir haciendo uso de los Normal Map es el de incluir formas sobre una superficie, sin necesidad de modelizarlas en el modelo 3D.
- Veamos un ejemplo:
- Normal Map con formas aplicado a un cilindro
- Debemos de tener claro que esas formas no existen realmente no existen en el modelo. Lo que hace Unity es aplicar una fuente de luz sobre el objeto 3D y los rayos reflejados sobre la superficie del Normal Map hacen que parezca que esas formas existen. Si nos acercáramos mucho al modelo veríamos que realmente no existen en el 3D.
- Nota:Lo que se hace normalmente es tener un modelo 3D con un nivel de detalle altísimo sobre el que se extrae el 'Normal Map'.
- Después se realiza otro modelo más sencillo (sin tanto nivel de detalle) y sobre dicho modelo se aplica el 'Normal Map' extraído del paso anterior.
- 'Normal Map' es un tipo de Bump Maps, el cual es una técnica de programación para dar un aspecto rugoso a superficies.
- Dentro de Bump Maps tenemos dos tipos de mapas:
- Normal Maps , el cual es el visto hasta ahora. Cada pixel de esta textura indica la dirección que tiene que seguir la luz cuando se refleja sobre su superficie.
- Hieght Maps, guarda la misma información que el anterior pero de forma diferente. En este tipo de mapa se usa una textura en blanco y negro, la cual indica la elevación que tiene que tener cada pixel en la textura.
- Podéis descargar ejemplos de texturas junto con su 'normal map' desde https://3dtextures.me/
Ejemplo de uso
- Descargar la textura y el normal map de este sitio web.
- Modelo realizado por João Paulo.
- Aplicando un Normal Map
Creando un Normal Map
- Vamos a ver un ejemplo haciendo uso del programa GIMP.
- Para poder crear un Normal Map debemos descargarnos un 'plugin' para Gimp deste este enlace.
- Instalando el plugin NormalMap para Gimp
- Existen en Internet multitud de páginas que muestran como crear un Normal Map en Gimp.
- Un ejemplo es este vídeo.
- Instrucciones concretas de cómo crear un Normal Map en este enlace.
- Recursos a descargar:
- El archivo de textura de madera desde: https://3dtextures.me/2018/04/27/old-wood-001/.
- Solo descargar la textura. El enlace del mismo es https://meocloud.pt/link/985fb169-076e-4842-adc3-a30a32948ccd/Old_Wood_001_SD/.
- La imagen que vamos a emplear para crear el Normal Map. Es una imagen creada con GIMP, podéis crear una propia personalizada: Media:Unity3D_normalmap_ej_1.png
- Lo que vamos a obtener será lo siguiente:
- Creando un Normal Map propio
Como se comenta en este enlace es necesario realizar un ajuste antes de guardar el Normal Map. Debemos ir a la sección de canales y desmarcar el canal azul (no aparece el texto).
-- Ángel D. Fernández González -- (2018).