Textura procedural de un ojo


Lo primero que debemos hacer, es crear la superfície que tendra la textura. En este caso, sera una esfera NURBS. La escalaremos un poco en todos los ejes. Un valor de 5 5 5 será suficiente..

Ahora iremos al Hypershade y crearemos un nuevo material blinn. Abriremos el attribute editor de este material y mapearemos un ramp en color. Despues de hacer esto, volveremos atras y nos iremos a la pestaña "Hardware Texturing" del material. Alli, en "Texture resolution, pondremos lo maximo (Highest (256x256). Así, en nuestra ventana de maya, veremos la textura que vamos creando, mucho más parecida a lo que sera en el render.

Hecho esto, asignamos a nuestra esfera este material.

 

Al haberlo asignado, vemos como el material no se adapta correctamente a la esfera. Esto es por las direcciones UV. Tan solo tendremos que cambiarlas en el material o en la esfera. En nuestro caso, lo haremos en el material. Asi que nos vamos a nuestro ramp y cambiamos el primer parametro que sale "Type". Lo ponemos en U Ramp. Ahora ya está como lo queremos.


Ahora iremos añadiendo capas de color a nuestro ramp. En las posiciones que más o menos os indico en el dibujo.

No hace falta ser muy exactos, porque despues podremos cambiarlo facilmente.

Los colores son los siguientes, de arriba a abajo: negro, "fractal", "fractal", negro, negro, blanco, rojo, rojo.

Meteis estos colores. Podeis cambiar el blanco por un tono más amarillento y el rojo por algo mas oscuro. Los "fractal", los haremos más adelante. Por el momento poned esos dos tonos a vuestro albedrio.

 

 

En nuestro workspace, habrá algo como lo siguiente, si habeis seleccionado los mismos colores que yo.


Ahora crearemos otro ramp, que mapearemos en el bump del material.

A diferéncia de otros tutoriales, en los que hunden la parte del iris, nosotros utilizaremos el bump para hacer el mismo efecto sin tener que tocar la superficie.

Así pues, creamos un ramp con estos colores. Cambiad las direcciones como en el ramp anterior.

Las posiciones son: mas claro donde empieza el iris y mas oscuro donde empieza la pupila.

Poned el "bump Depth" a 5.

 



Ahora acabaremos la capa de color del ojo. Por tanto nos vamos al ramp que hemos mapeado antes. Os acordais de los colores que he dicho que eran provisionales porque pondriamos un "fractal"? Son los 2 que van justo después de la pupila. Estos son la parte importante de nuestra textura. Dependiendo de los colores que pongamos en ellos, nuestro ojo será mas cartoon o mas real.

Primero haremos el más exterior. Este, siempre es mas oscuro que el interior.

 

Seleccionamos el color y le asignamos un nodo "fractal". Antes de tocar los parametros, seleccionamos su "place2dTexture". Aquí debemos cambiar la cantidad de repeticiones (Repeat UV). Así conseguiremos ese aspecto de "zoom" que tiene el iris. Podeis jugar con los valores.

Si quereis seguir como yo, poned 0.5 / 1.



Ahora volveis al fractal y en su "Color Balance" poneis los colores que querais. Yo no queria un ojo realista, así que puse los siguientes.



Tambien le cambiamos los parametros "Frequency Ratio" que lo ponemos a 4.0, para darle mas suavidad y "Bias" que lo ponemos a 0.2, para dar un poco mas de contraste a los colores.

Ahora volvemos al ramp y le añadimos otro nodo fractal en el color posterior a la pupila. Este, deberá tener unos colores mas claros que el anterior. Volvemos a cambiar las repeticiones (Repeat UV) en el place3dTexture de la misma forma que antes. Tambien pondremos los mismos valores en los parametros del fractal, que en el anterior.

 

Aquí os pongo los colores que yo he usado esta vez.



Ya por último en este shader blinn, ponemos estos valores.

Asi conseguimos concentrar el brillo del ojo en un punto muy pequeño.



Ahora, en el workspace, tendremos algo como esto.



Però esto aun no está. Ahora haremos otro shader que se dedique exclusivamente al brillo. Esta vez, será un phong, que crea unos brillos más fuertes. A este, le aplicaremos un ramp a su capa de bump, para hacer irregularidades en estos. Este ramp, hará un degradado de oscuro en la pupila a negro en el iris. Y en el tercer color, tendra aplicado un nodo "noise" para el resto del ojo.

Poned la interpolacion, como se muestra en la imagen.

Por último poned el "Bump Depth" a 5.



Los parametros del fractal los dejamos por defecto. Lo unico que teneis que cambiar es el "Color Offset" que pondremos totalmente negro y el "Color Gain" que lo ajustaremos a casi negro. Dependiendo de este valor, cambian los brillos en el ojo. Asi que si no nos gusta al tirar el render, pues lo toqueteamos hasta dejarlo como queramos.

Ya por ultimo en este shader, mapeamos en la transparencia, un nuevo ramp, con dos tonos. Uno cerca de la pupila y el otro para el resto del ojo, como muestra la imagen.

Acordaos de cambiar la direccion del ramp.

 



Ahora ya para acabar, creamos un layered shader, donde metemos los dos shaders que hemos hecho. Muy importante el oden en que lo pongamos. Primero ponemos en el que nos hace los brillos y en segundo lugar el que nos da el color. Asignamos este layered shader a nuestra esfera y acabado!

Este es el resultado despues de toquetear un poco el material.

Si quereis la escena acabado, pinchad aqui.

Por último, quedan por hacer las venas del ojo, pero creo que eso es un trabajo de Photoshop. Se podria hacer mapeando nodos marble en el material, pero sería mas complicado.