Diferencia entre revisiones de «UNITY Materiales»
Ir a la navegación
Ir a la búsqueda
(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...») |
|||
| Línea 1: | Línea 1: | ||
=Introducción= | =Introducción= | ||
| − | * | + | * Mas información en [https://docs.unity3d.com/Manual/Materials.html este enlace]. |
* Los materiales van a estar asociados a figuras 3D. | * Los materiales van a estar asociados a figuras 3D. | ||
| Línea 18: | Línea 18: | ||
| + | |||
| + | * Un aspecto importante a tener en cuenta cuando trabajamos con materiales es la luz que se va a aplicar sobre el material. | ||
| + | : El material debe 'reaccionar' a la iluminación de una forma adecuada. Por ejemplo, un material metálico debe de dar esa apariencia cuando la luz lo ilumine. | ||
| + | : La luz debe de estar configurada para mostrar los materiales de la forma mas fidedigna posible. La configuración de la luz sobre el material está determinada por una serie de parámetros que veremos a continuación. | ||
<br /> | <br /> | ||
| + | |||
=Creando un material= | =Creando un material= | ||
Revisión del 19:00 1 nov 2018
Sumario
Introducción
- Mas 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.
- Un aspecto importante a tener en cuenta cuando trabajamos con materiales es la luz que se va a aplicar sobre el material.
- El material debe 'reaccionar' a la iluminación de una forma adecuada. Por ejemplo, un material metálico debe de dar esa apariencia cuando la luz lo ilumine.
- La luz debe de estar configurada para mostrar los materiales de la forma mas fidedigna posible. La configuración de la luz sobre el material está determinada por una serie de parámetros que veremos a continuación.
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).