Sunteți pe pagina 1din 28

Tutorial de Unity 3D

Tema 10
Introduccin a los Shaders de Unity3D

Introduccin a los Shaders de Unity3D


1. Objetivos
En este tema comenzaremos a trabajar con objetos 3D como vehculos, edificios, armas, etc. Que en
primer lugar mejorarn el aspecto visual de nuestra escena y en ltima instancia nos terminarn ofreciendo
la posibilidad de crear mundos interactivos como en los videojuegos comerciales.
Comenzaremos configurando algunos aspectos finales de nuestra escena como pueden ser el cielo o la
niebla en el ambiente para despus aadir objetos en 3D a partir de un amplio catlogo de recursos online
alojado en la pgina web http://turbosquid.com
Finalmente, para mejorar el aspecto visual de los objetos en 3D trataremos a fondo su texturizado, los
diferentes tipos de materiales que Unity puede mostrar y la iluminacin.
Recuerda que como siempre, para facilitarte las cosas, siempre utilizaremos un guin (-) para prefijar todas
las acciones que requieran tu intervencin directa con el programa.
2. Configuracin de render
El men de configuracin del render nos permite configurar el aspecto del cielo y de la niebla de
nuestro videojuego, adems de algunos efectos globales que afectan a la iluminacin. Para seguir este
tutorial lo ideal sera partir de una escena que hayas creado previamente y ya tenga un diseado un terreno
con todo lujo de detalles.
Comenzaremos configurando el cielo, pero antes de eso necesitamos importar en nuestro proyecto un
paquete de recursos con las texturas correspondientes. En esta ocasin utilizaremos uno de los paquetes
que trae Unity por defecto, se denomina Skyboxes (Cajas de cielo).
Ve a la Vista de Proyecto y haz clic derecho en una zona vaca, selecciona Import Package
Skyboxes. Espera que Unity termine de descomprimir el paquete y se abrir una nueva ventana con
el listado de recursos a importar.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 1

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Haz clic en el botn Import, abajo a la derecha, para que comience la carga de recursos en el
proyecto.
Observa que el paquete que acabamos de importar es uno de los que vienen por defecto con Unity, habrs
comprobado que en la lista de paquetes para importar haba muchos ms. Si quieres conocerlos todos no
dudes en tomarte un tiempo en importarlos uno a uno y examinar su contenido al finalizar este tutorial.
Ahora vamos a acceder al men de configuracin del
render para hacer uso de las cajas de cielo:
Asegrate de tener el Layout de visualizacin en
modo 2 by3 (Botn superior derecho de la interfaz
de Unity). Entonces, en las pestaas superiores haz
clic en Edit Render Settings. Vers que la Vista
de Inspector ahora muestra un breve men como
el de la captura.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 2

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Un problema frecuente del men Render Settings es que deja de ser visible en la Vista de Inspector en el
momento que seleccionemos un objeto de la escena o del proyecto, o tambin cuando hagamos clic en una
zona vaca y cancelemos la seleccin.
Aunque podemos volver a abrirlo de la misma forma siempre que queramos, vamos a utilizar una sencilla
opcin para evitar que el men Render Settings se nos oculte accidentalmente.
Con el men Render Settings visible en la Vista de Inspector, observa que en su esquina superior
derecha hay un pequeo icono con forma de candado. Haz clic sobre l para cerrarlo y as anclar el
men en la Vista de Inspector, no desaparecer hasta que vuelvas a hacer clic sobre el candado.

Una vez tomada esta precaucin, vamos a comenzar asignando el material de la caja de cielo (Skybox
Material).
En el men Render Settings, haz clic en el pequeo icono en forma de disco que hay a la derecha del
campo Skybox Material, se abrir una nueva ventana con todos los recursos de materiales cargados
en nuestro proyecto.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 3

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Observa que la ventana anterior muestra todos los recursos de materiales cargados en nuestro proyecto y
no slo los de las cajas de cielo que acabamos de cargar. Un truco sencillo para que nos muestre solamente
las cajas de cielo es el siguiente:
En la barra de bsqueda en la parte superior de la ventana de materiales, escribe la palabra sky
(Cielo). De esta forma la ventana slo mostrar aquellos materiales cuyo nombre contenga esa
palabra.
Una vez hecho sto, puedes ir haciendo clic en los materiales de las cajas de cielo para previsualizar
su aspecto en la Vista de Escena. Cuando te hayas decidido por una pulsa Intro para finalizar.

Ya slo nos falta configurar la niebla de la escena, se trata de un elemento presente en cualquier entorno
natural en mayor o menor medida y la configuraremos de una forma muy sencilla.
Asegrate de tener el men de Render Settings en la Vista de Inspector.
Dirgete al modo de niebla (Fog mode) y despliega el men para seleccionar la opcin Linear.
La niebla de tipo lineal es la ms sencilla de configurar, ya que se basa en una distancia inicial desde la
cmara (Linear Fog Start), medida en metros, en la que la niebla comienza a afectar a la escena y una
distancia final (Linear Fog End) en la que la niebla produce una saturacin total y no deja ver nada.
Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 4

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Establece unos valores para el inicio y el fin de la niebla en funcin de tu escena, puedes hacer una
escena con muy poca niebla asignando valores de inicio y fin muy altos (De 1000 a 1500 metros por
ejemplo) o recrear una escena de montaa en un ambiente hmedo con unos valores bajos (De 0 a
300 metros por ejemplo).
Activa ahora la primera casilla del men Render Settings, denominada Fog. Es la encargada de que la
niebla se active finalmente y se muestre, puedes comprobar su efecto tanto en la Vista de Escena
como en la Vista de Juego.

En la captura anterior puedes ver una escena con una configuracin de niebla relativamente alta, observa
cmo apenas se consigue distinguir el color de los rboles.
Existe un problema y es que el color de la niebla es gris y no resulta natural, vamos a solucionarlo.
Vuelve de nuevo al men Render Settings. El segundo parmetro es una celda de color y determina el
color de la niebla (Fog color). Haz clic sobre l para abrir la ventana de colores.
En la parte superior izquierda de la ventana de colores observars un icono en forma de
cuentagotas. Su utilidad es obtener un color directamente desde la Vista de Escena o la Vista de
Juego. Haremos clic sobre la parte de la caja de cielo que se junta con el horizonte, ya que salvo
raras excepciones es generalmente azulado y resulta uno de los colores ms apropiados para la
niebla.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 5

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Deberas obtener un resultado de niebla mucho ms natural.

Tu escena ya debera tener una luz direccional. Seleccionla en la Vista de Escena, y si no la tienes
recuerda que puedes crear una clicando en la pestaa superior Game Object Create Other
Directional Light.
Caso de seguir visualizndose el men Render Settings en la Vista de Inspector, recuerda abrir el
candado de su parte superior izquierda para que desaparezca y podamos ver los parmetros de la
luz direccional.
Con la luz direccional seleccionada, utiliza la
herramienta de rotacin (Botones superiores
izquierdos o atajo de teclado E) para dirigir la luz en
la direccin que desees.
Con la luz direccional seleccionada, observa en la
vista de inspector sus parmetros. El campo Color
es una caja de color donde podemos establecer un
color distinto del blanco mientras que el campo
Intensidad (Intensity) nos permite modificar su
intensidad base.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 6

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Dedica ahora unos minutos a seleccionar una caja de cielo, configurar una niebla y una luz
direccional acorde con la escena que deseas ambientar. Puedes plantearte hacer una escena de
noche, un amanecer, un da de espesa niebla...

3. Modelos 3D de Turbosquid
La web http://turbosquid.com es un valioso recurso para localizar todo tipo de objetos 3D para
aadir a nuestro videojuego. Vamos a dedicar unos minutos a configurar nuestras cuentas de usuario para
poder descargar contenido gratuito de todo tipo.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 7

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Abre tu navegador web y busca en Google o escribe en la barra de direcciones


http://turbosquid.com.
En la esquina superior derecha vers un botn de acceso (Login/Join). Haz clic en l para abrir el
formulario de inscripcin.

Rellena el formulario de inscripcin con tus datos de correo electrnico, nombre de usuario y
contrasea. Finalmente pulsa el botn inferior izquierdo Create Account para crear finalmente tu
cuenta de usuario.
En el paso anterior no olvides poner un correo electrnico vlido para poder recuperar tu contrasea en
caso de prdida, y recuerda que habr nombres de usuario no disponibles o utilizados por otras personas,
as que evita utilizar nombres sencillos como por ejemplo Juan o Laura.
Una vez finalizado el proceso de inscripcin, el texto superior izquierdo de la pgina web pasar a mostrar el
texto Account. Eso nos indica que ests dentro de tu cuenta y ya puedes comenzar a descargar contenido.

Turbosquid tiene un buscador muy similar al de Google, slo que los resultados de la bsqueda nos llevarn a
objetos 3D disponibles para descargar. Podemos buscar cualquier tipo de vehculo, objeto, personaje, etc.
Vamos a hacer una sencilla prueba con la que descargaremos una motocicleta y la incluiremos en nuestro
videojuego.
Con tu cuenta ya creada, dirgete a la barra de bsqueda en la parte superior de la web de
Turbosquid. Generalmente encontraremos ms objetos buscando en ingls, as que escribiremos el
texto motorbike (Motocicleta) y pulsaremos Intro.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 8

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

El navegador nos mostrar los resultados de la bsqueda en una ventana similar a la siguiente:

El principal problema es que por defecto nos localizar tanto los objetos gratuitos como los de pago, adems
de mostrarnos algunos resultados que no son compatibles con Unity 3D.
Vamos a configurar la bsqueda para que automticamente nos localice
nicamente los objetos compatibles con Unity 3D.
En la columna lateral izquierda de la web, localiza la celda de
Compatibilidad (Compatibility). Haz clic en su ltimo botn para
especificar desde lista (Specify file formats from list).
Se abrir una nueva ventana dentro de la pgina web donde
debemos seleccionar los tipos de archivo que queremos buscar.
Unity es compatible con prcticamente cualquier tipo de archivo 3D,
pero si no queremos instalar ningna extensin tendremos que
marcar nicamente los formatos .fbx, .3ds y .obj y ninguno ms,
segn la imagen que viene a continuacin.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 9

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Para finalizar aplicando el filtro de bsqueda pulsa el botn Apply abajo a la derecha. El resultado de
la bsqueda ahora slo mostrar objetos compatibles con Unity 3D.
Slo nos falta indicar que queremos nicamente objetos gratuitos:
Localiza en la columna lateral izquierda la celda de Precio
(Price). Haz clic en el texto de abajo para establecer un rango
de precios personalizado (Set custom price range).
Se abrirn 2 celdas donde escribir el precio mnimo y mximo,
escribiremos 0 en ambas y pulsaremos Apply para continuar.
Una vez establecidos ambos filtros de bsqueda, la pgina web nos mostrar los resultados. En este caso
tenemos un par de resultados de bsqueda, uno de ellos es una motocicleta con buen aspecto para
comenzar a trabajar con ella.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 10

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Haz clic en el icono de la motocicleta para abrir su pgina de descarga. En ella podrs ver una serie
de capturas con el aspecto aproximado que ofrecer el objeto en nuestro juego.
Dentro de la pgina de descarga y antes de descargar, es importante echar un vistazo a la informacin de
especificaciones (3D Model Specifications) que podemos ver en el lateral derecho. En el apartado con el
nmero de polgonos (Polygons) intenta evitar modelos que sobrepasen los 15,000 polgonos. En el caso de
nuestra moto podemos contar 6,721, as que funcionar correctamente.
Pulsa el botn verde de descarga (Download) en la parte superior derecha de la pgina de descarga
de la motocicleta. sto nos llevar a nuestro historial personal de descargas, donde podemos
descargar tanto la motocicleta como cualquier otro objeto que ya hayamos descargado
previamente.
Generalmente, cada objeto puede estar disponible para descargar en varios formatos, entre los que se
encontrarn los que hemos establecido mediante filtrado de bsqueda.
Para mostrar todos los formatos disponibles haz clic en el botn Show all, segn puedes ver en la
siguiente imagen.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 11

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Los formatos compatibles con Unity, por orden de mayor a menor compatibilidad, son .fbx, .3ds y .obj. En
nuestro caso slo tenemos disponible el formato .3ds (No confundir con el formato .max de 3dsmax).
Hacemos clic sobre l para comenzar la descarga tal y como figura en la captura siguiente.

La descarga comenzar automticamente. Asegrate de indicar una ubicacin conocida, como por ejemplo el
Escritorio.
El archivo que hemos descargado est comprimido en formato .zip. Antes de poder importarlo como recurso
de nuestro proyecto Unity necesitamos descomprimirlo.
Haz clic derecho en el archivo que acabas de descargar y selecciona la opcin de descompresin
(Generalmente Extract to...). El contenido del archivo se extraer.
Para conseguir grandes tasas de compresin, es frecuente que el archivo haya sido comprimido varias
veces, si te encontrases con un archivo similar tendrs que extraerlo de nuevo hasta que aparezcan los
archivos que guarda.
En nuestro caso terminamos encontrando una carpeta llamada Vespa donde podemos ver tanto el archivo
vespa.3ds (El objeto 3D) como un par de carpetas ms con imgenes y texturas, tal y como podemos ver en
la siguiente captura.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 12

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Antes de aadir el objeto 3D como recurso para nuestro proyecto, vamos a recordar que debemos mantener
una buena organizacin en la Vista de Proyecto. Por tanto vamos a crear un directorio especfico donde
guardar los distintos modelos 3D que vayamos importando.
Ve a la Vista de Proyecto de Unity 3D, haz clic derecho en una zona vaca y selecciona Create
Folder para crear una nueva carpeta. Llmala Modelos.

Haz clic derecho sobre la carpeta Modelos que acabas de crear y crea una carpeta ms llamada
Motocicleta. Haremos lo mismo con los sucesivos modelos 3D que descarguemos, teniendo
siempre cada uno de ellos en su carpeta correspondiente.
Haz clic derecho sobre la carpeta Motocicleta y selecciona la opcin Import New Asset... Se abrir
una ventana de navegador con la que debemos llegar hasta el archivo Vespa.3DS que acabamos de
descargar y descomprimir. Lo seleccionamos y pulsamos el botn Import para importarlo como
recurso de proyecto.
Una vez finalice la carga, la Vista de
Proyecto mostrar el nuevo recurso junto
con una carpeta de materiales (Materials)
asociados. En la Vista de Proyecto
seleccionamos la Vespa podemos ver su
previsualizacin en la parte inferior de la
Vista de Inspector tal y como muestra la
siguiente imagen.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 13

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Ya slo nos falta aadir nuestra motocicleta a la escena. Para ello debemos asegurarnos de que tenemos el
Layout en modo 2 by 3 y que en la Vista de Escena tenemos visible el terreno y la posicin donde queremos
colocarla.
Desde la Vista de Proyecto selecciona y arrastra la motocicleta hasta la posicin deseada del
terreno en la Vista de Escena.
Observars que la moto aparece tambin en la Vista de Jerarqua, haz doble clic sobre su nombre
(Vespa) para centrarla en la Vista de Escena, deberas ver algo as:

Existe un problema con los modelos gratuitos que descargamos de internet, y es que generalmente su
tamao es arbitrario. En nuestro caso vamos a comprobar el tamao que tiene ahora mismo nuestra
motocicleta comparndola con un cubo de 1 metro de arista.
Con la motocicleta centrada en la Vista de Escena, ve a la pestaa superior GameObject Create
Other Cube. sto crear un cubo con 1 metro de arista exactamente en la misma posicin que la
motocicleta.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 14

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

En la Vista de Jerarqia, localiza el cubo (Cube) y haz doble clic sobre l para centrarlo. Observars
que la cmara de la Vista de Escena se mueve hacia atrs, sto es debido a que el cubo de 1 metro
de arista es mayor que nuestra motocicleta.
Vuelve a seleccionar la motocicleta en la Vista de Jerarqua y utiliza los botones superiores
izquierdos para cambiar la escala de nuestra moto (Botn de escala o atajo de teclado R). Modifica
la escala de la moto para que tenga un tamao aproximadamente real en comparacin con el cubo.
Aprovecha tambin para posicionarla (Botn de posicionamiento o atajo de teclado W) por encima
del terreno.

Dedica un tiempo a buscar nuevos objetos en Turbosquid, importarlos a tu proyecto y aadirlos en tu


escena. Intenta construir una ciudad con edificios, vehculos e incluso animales y personas sobre tu
terreno.
Es importante que sepas tambin que algunos de los objetos de Turbosquid incluyen texturas. En la mayora
de los casos stas se aplicarn automticamente en el objeto 3D al importarlo en Unity, pero para casos
ms concretos vamos a hablar a continuacin sobre cmo maneja Unity las texturas.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 15

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

4. Texturas
Vamos a volver de nuevo a las texturas para aprender a utilizarlas sobre objetos que hayamos
descargado de internet. Para facilitar las cosas empezaremos trabajando sobre simples cubos, pero todo lo
aprendido ser aplicable ms adelante a objetos complejos.
En primer lugar necesitamos aadir texturas como recurso en nuestro proyecto.
Ve a la Vista de Proyecto, haz clic derecho en una zona vaca y selecciona Create Folder para
crear una nueva carpeta. Ponle como nombre Texturas.
Abre tu navegador web y accede a Google Imgenes. Puedes acceder simplemente a Google y
seleccionar Imgenes en la parte superior de la web tal y como se muestra en la siguiente captura.

En el buscador escribe la palabra texture, en ingls para asegurar ms resultados y espera los
resultados de bsqueda. Puedes concretar ms el tipo de textura que buscas aadiendo alguna
palabra ms como por ejemplo leather (Cuero), si queremos buscar texturas de cuero.
En nuestro caso obtenemos los siguientes resultados de bsqueda:

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 16

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Haz clic en el resultado de bsqueda que ms


te guste. Se abrir una previsualizacin en la
que es importante que en la columna lateral
derecha hagas clic en Tamao completo, ya
que lo que se est mostrando es una
miniatura.
Una vez hecho eso podrs ver la imagen a
tamao completo en tu navegador. Gurdala,
generalmente haciendo clic derecho sobre
ella y seleccionando la opcin Guardar imagen
como... Asegrate de guardarla en una ruta
conocida como por ejemplo el Escritorio.
Tal y como hemos hecho anteriormente con el modelo
3D de Turbosquid, vamos a importar la textura como
recurso de proyecto antes de utilizarla.
En la Vista de Proyecto, dentro de la carpeta
Texturas crea una nueva carpeta con el
nombre Cuero. Haz clic derecho sobre ella,
selecciona Import New Asset... Se abrir una
ventana de navegador donde debes buscar la
textura que has descargado, seleccionarla y
pulsar Import para aadirla como recurso.
Ahora puedes repetir el mismo proceso
cuantas veces quieras para aadir distintos
tipos de textura a tu proyecto.
Vamos a comenzar a hacer uso de las texturas importadas. Para ello vamos a buscar el cubo que habamos
creado inicialmente para comparar su tamao con el de nuestra motocicleta.
En la Vista de Jerarqua, busca el cubo (Cube) y haz doble clic sobre l para centrarlo en la Vista de
Escena.
Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 17

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Localiza la textura que acabas de importar en la Vista de Proyecto, dentro de la carpeta Texturas.
Arrstrala directamente sobre el cubo, bien sea en la Vista de Escena o en la Vista de Jerarqua.
Observars que el cubo aplica automticamente la textura sobre todas sus caras as:

Puedes dedicar un tiempo a crear todo tipo de figuras bsicas


haciendo clic en la pestaa superior GameObject Create Other,
ah podrs seleccionar figuras como la esfera (Sphere), cpsula
(Capsule), cilindro (Cylinder) y plano (Plane). Texturiza todas ellas
de diferente forma siguiendo los pasos anteriores.
Tambin puedes intentar componer objetos bsicos posicionando y rotando correctamente las
figuras bsicas texturizadas. Puedes intentar montar una farola y aadirle una luz puntual (Point
Light), o un coche y aadirle luces de cono (Spot Light).

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 18

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

5. Materiales
Ahora que ya nos hemos familiarizado con el manejo de texturas y su aplicacin sobre objetos vamos
a pasar a trabajar con un aspecto visual ms avanzado de Unity. Los materiales indican el aspecto visual que
nos muestra finalmente el objeto, atendiendo especialmente a su reaccin frente a las fuentes de luz y los
reflejos del entorno que lo rodea.
En la Vista de Jerarqua, busca el cubo texturizado que hemos creado anteriormente y haz doble clic
sobre su nombre para centrarlo en la Vista de Escena.
Si observas ahora en la Vista de Inspector, abajo del todo,
comprobars que hay una pequea previsualizacin en
forma de esfera con el aspecto exterior del cubo, una caja
de color y su textura segn la siguiente captura. Se trata de
la ventana del material del objeto y vamos a trabajarla en
profundidad.
La caja de color nos permite aplicar un color de teido en
caso de que queramos ofrecer un aspecto distinto.
Prueba a modificar el color y observa el resultado.
Tambin son interesantes los valores de repeticin (Tiling), que indican la cantidad de veces que la textura
se proyecta sobre las caras del cubo.
Prueba a modificar los valores de la columna Tiling poniendo valores como 2, 5 10 y observa el
cubo de cerca en la Vista de Escena. Vers cmo la textura ahora se muestra repetidas veces sobre
cada cara del cubo. sto resulta especialmente til para por ejemplo componer suelos y paredes con
una nica textura de baldosa y un plano sobre el que se repite varias veces.
Una vez entendido sto es hora de configurar la reaccin que nuestro material tiene con la luz. Los
materiales pueden reflejarla o absorberla en distinta medida, los materiales que absorben la luz se
denominan difusos (Diffuse), mientras que los que la reflejan se denominan especulares (Specular).

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 19

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Segn la captura anterior, observa que en el apartado Shader hay una lista
desplegable en la que ahora mismo figura como seleccin Diffuse.
Haz clic en la lista desplegable del Shader y selecciona Specular
para hacer que el material del cubo pase a reflejar la luz que le
llega. Es normal que el men tarde un poco en responder.
En este punto es importante que sepas que aunque Unity incluye por defecto
aproximadamente unos 50 shaders distintos para materiales, la gran
mayora de ellos parten de ser o bien difusos o bien especulares. Observa la
lista de la derecha, incluso si accedes a las categoras desplegables, vers
que todos los shaders se caracterizan por ser difusos (Absorben la luz) o
ser especulares (Reflejan la luz).
Habrs notado tambin que, en la Vista de Inspector, abajo del todo, la
ventana del material ha cambiado ligeramente despus de haber
seleccionado el shader especular. Ahora tenemos una caja de color
adicional en la que podremos dar un color de teido especular para los
reflejos de luz (Specular Color) y una barra que podemos arrastrar de
izquierda a derecha para indicar el brillo (Shininess), que indicar en qu
medida el material refleja la luz que recibe.
Salvo raras excepciones, en el color especular deberas
asignar algn tipo de gris, consiguiendo as que la luz
reflejada pierda un poco de intensidad sin modificar su color
original. En cuanto a la barra de brillo, ponindola a la
izquierda conseguimos el mximo brillo, mientras que
ponindola a la derecha conseguimos un efecto muy similar
al del shader difuso.
Haz unas pruebas con diferentes texturas aplicando el shader difuso y el especular. Observars que
el especular resulta ms apropiado para texturas metalizadas.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 20

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

El shader especular que acabamos de usar es el ms bsico de los que trae Unity y no resulta para nada
realista, pero s es importante comprender su funcionamiento antes de pasar a utilizar otros tipos de
shader ms avanzados. Antes de continuar echa un vistazo a la siguiente captura en la que podemos ver el
resultado visual de un objeto a medida que modificamos la cantidad de luz (De derecha a izquierda) y la
cantidad de brillo (De arriba a abajo) de su material.

Otra conclusin importante que podemos sacar de sto es que con una nica textura podemos obtener
infinidad de materiales distintos.
Vamos a dar paso ahora a los materiales ms avanzados de Unity. Si vuelves a echar un vistazo a la lista
completa de shaders disponibles en la Vista de Inspector, observars tambin que gran parte de ellos vienen
prefijados con la palabra Bumped. Este trmino hace referencia a un efecto de profundidad que se aplicar
sobre la superficie del material dando la sensacin de que no es totalmente plana, si no que realmente las
irregularidades dibujadas en la textura tienen una profundidad real.
La mejor manera de entender esto ltimo es configurando un shader de este tipo.
Despliega la lista de shaders y selecciona Bumped Specular. Observa que podramos utilizar tambin
Bumped Diffuse, pero la nica diferencia ser si reflejar o no la luz, y en este caso queremos ver en
todo su esplendor el efecto de profundidad en la superficie.
Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 21

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Nuevamente, en la Vista de Inspector podemos ver que la


ventana del material ha vuelto a cambiar, en este caso luce
tal y como la podemos ver en la captura de la derecha.
La nica diferencia respecto del shader especular anterior
es que ahora observamos que hay un segundo campo
llamado Normalmap (Mapa de normales) para una textura.
La textura de mapa de normales es la que generar las
irregularidades en la superficie del material. Existen muchas
formas de obtener mapas de normales, pero vamos a utilizar
una muy sencilla.
En la Vista de Inspector, abajo del todo, haz clic en la
textura de base que tiene asignada tu objeto.
Comprobars que en la Vista de Proyecto aparece marcada en amarillo.
sta es una forma rpida de encontrar el recurso de proyecto que
estamos usando, muy til cuando comenzamos a tener gran cantidad de
texturas.
Ve a la Vista de Proyecto, selecciona la textura y pulsa el atajo
de teclado Ctrl+D para duplicarla. Tambin puedes ir a la
pestaa superior Edit Duplicate.
Haz clic sobre la nueva textura duplicada para poder renombrarla. En nuestro caso, si la textura
original se llama Textura Cuero vamos a renombrar la nueva como Textura Cuero Bump.
Ahora con la nueva textura seleccionada en la Vista de Proyecto, observa la Vista de Inspector. Te mostrar
diversos parmetros con la configuracin actual de la textura y abajo del todo una previsualizacin. La
ventana que ests viendo se denomina Importador de Texturas.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 22

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Vamos a configurar nuestra nueva textura para que pase a


ser un mapa de normales.
En el apartado Texture Type (Tipo de textura), haz
clic en la pestaa desplegable y selecciona la opcin
Normal Map.
Observars que la celda Alpha from Grayscale se activar
automticamente, sto servir para que las irregularidades
se generen a partir de la textura en escala de grises, siendo
las zonas ms oscuras las ms profundas.
Tambin aparecen 2 nuevos parmetros configurables: La
barra desplazable de profundidad (Bumpiness) indica cmo
de pronunciadas sern las irregularidades en las superficie,
mientras que filtro (Filtering) nos permite seleccionar 2
modos distintos para calcularlas.
Configura un factor de Bumpiness no muy alto, por
ejemplo 0,1 ser suficiente, y deja el filtro por
defecto ya que generalmente es cuestin de probar
el filtro que mejor resultado nos ofrece.
Abajo del todo en la Vista de Inspector tambin, haz
clic en Apply para aplicar los cambios y observa
abajo del todo la nueva textura que hemos generado.
La nueva textura est compuesta por tonos azulados en su
mayora. Todas las desviaciones del azul puro sern las
irregularidades de las que hablbamos. Vamos ahora a hacer uso
de este mapa de normales en nuestro material.
En la Vista de Jerarqua, vuelve a seleccionar el cubo.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 23

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

En la Vista de Inspector, abajo del todo, haz clic en el


botn Select, en la celda correspondiente a la
textura de mapa de normales segn la siguiente
captura. sto abrir una ventana con todas las
texturas del proyecto.
Busca en ella la textura de mapa de normales que
acabamos de crear, seleccinala y pulsa Intro para
finalizar.
Otra opcin interesante para este ltimo paso hubiese sido
arrastrar directamente la textura de mapa de normales
desde la Vista de Proyecto hasta la celda en la Vista de
Inspector.
En la Vista de Jerarqua, haz doble clic en el cubo para centrarlo en la Vista de Escena y observa el
resultado.
En la Vista de Jerarqua, haz doble clic en la luz direccional para centrarla en la Vista de Escena.
Utiliza el botn de Rotar en la parte superior izquierda (Atajo de teclado E) y prueba diferentes
orientaciones de la luz para comprobar su efecto sobre el nuevo material.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 24

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

6. Iluminacin
Un material con mapa de normales como el que hemos creado anteriormente simula la presencia de
irregularidades en una superficie que realmente es plana. Generalmente no apreciaremos con gran detalle el
resultado si permanecemos quietos o si no tenemos luces en movimiento.
Vamos a aadir una luz sobre nuestro cubo y moverla sobre su superficie para ver el resultado.
En la Vista de Jerarqua, haz doble clic en el cubo para centrarlo en la Vista de Escena.
En las pestaas superiores, haz clic en GameObject Create Other Point Light para crear una luz
puntual en la misma posicin que el cubo.
Utiliza el botn Mover que se encuentra arriba a la izquierda del interfaz (Atajo de teclado W) y
coloca la luz puntual justo sobre la superficie del cubo.
Desplaza la Vista de Escena hasta la superficie del cubo para ver el efecto, mueve de nuevo la luz de
punto para comprobar cmo las irregularidades ganan realismo con el movimiento de la cmara o
de las luces en la escena.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 25

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

7. Materiales en objetos de Turbosquid


A continuacin vamos a aplicar los conocimientos que hemos adquirido sobre materiales a los
objetos descargados en Turbosquid. Cada objeto 3D que descargamos es muy distinto del resto, as que
vamos a utilizar como ejemplo la motocicleta que utilizamos anteriormente y que ya tenemos en la escena.
En la Vista de Jerarqua, localiza la motocicleta y haz doble clic en ella para centrarla en la Vista de
Escena.
Observa que en la Vista de Jerarqua, la motocicleta aparece como una lista desplegable, despligala
de la misma manera que se despliegan las carpetas en la Vista de Proyecto.
Deberas ver algo similar a la siguiente captura. Los objetos en Unity
pueden establecer jerarquas unos con otros, de forma que las
acciones realizadas sobre el objeto padre como pueden ser
posicionar, rotar o escalar, tambin afectan a sus hijos.
En nuestro caso la motocicleta incluye ms de 10 objetos hijo en su
jerarqua.
En la Vista de Jerarqua, selecciona uno por uno los objetos
hijo de la motocicleta haciendo doble clic en ellos para
centrarlos en la Vista de Escena y observa que son partes
distintas.
Durante el proceso, en la Vista de Inspector, abajo del todo,
observa que todos los objetos hijo que corresponden a partes
grficas de la motocicleta tienen uno o varios materiales
asociados.
Aplica los conceptos que has aprendido sobre materiales para conseguir en la moto un resultado
similar al de la siguiente captura.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 26

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

Observa que para conseguir que el mapa de normales se


aplique varias veces sobre algunas superficies hemos hecho
uso del factor de repeticin (Tiling) que hemos explicado
anteriormente.
A continuacin una captura de la configuracin del material del
asiento de la motocicleta, observa como hemos utilizado un
factor de tileo de 4 tanto en la textura de base como en el
mapa de normales. Tambin hemos utilizado como color de
base el negro para evitar que el asiento se muestre rojo.
- Aplica todo lo anterior a nuevos objetos de Turbosquid y
realiza la composicin de un escenario con gran cantidad de
objetos, materiales y luces.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 27

Tutorial de Unity 3D
Tema 10
Introduccin a los Shaders de Unity3D

8. Actividades de evaluacin propuestas


Como actividades complementarias, podemos hacer una serie de capturas de pantalla para poder
mostrar el fruto final de nuestro trabajo. No olvides maximizar la Vista de Juego y pulsar Play para recorrer
las zonas visualmente ms atractivas de tu escenario, una vez te encuentres en una ubicacin interesante,
para capturar la imgen que ves, recuerda que puedes hacer lo siguiente:
Instala el programa gratuito Paint.NET (Tambin sirve cualquier otro programa de diseo grfico que
sepas manejar).
Vuelve a Unity y cuando la Vista de Juego muestre una escena interesante pulsa la tecla Impr Pant
que generalmente encontrars en la parte superior del teclado a mano derecha.
Vuelve a Paint.NET y haz clic en la pestaa Edicin Pegar para volcar el contenido de la captura de
pantalla en el programa.
Nuevamente en Paint.NET haz clic en Archivo Guardar para guardar las capturas de pantalla que
vayas realizando.
Ahora puedes ensear fcilmente tu trabajo, difundirlo a travs de redes sociales o publicarlo en t pgina
web.

Tutorial de Unity 3D Introduccin a los Shaders de Unity3D

Pg. 28

S-ar putea să vă placă și