Efecto de agua

Este tutorial explica como crear superficies de agua con el método del trazado de rayos (ray-tracing), como puede ser raystudio o raymax. Hasta ahora sólo tuve la posibilidad de probar el raystudio para esto, pero por lo que he oído, raymax trabaja de una forma similar al otro. Ambos requieren que se utilice un material específico para los objetos que necesiten ser ray-traceados. Los objetos que utilizan materiales normales se renderizan igual que si los hicieras con el anterior render del 3ds Max (las diferencias son mínimas y no voy a entrar en el tema). Esto quiere decir que podremos utilizar un material de trazado de rayos para nuestra superficie de agua en vez del mapa de reflexión, lo que indica que cuando apliquemos las ondas o olas (waves y ripples en el max) la reflexión será más exacta. En este tutorial utilizaré un Bump map para crear las ondas, porque es casi igual que utilizar un polígono con ruido (noise), y esto ahorra la creación de una buena cantidad de polígonos. Todo esto dará el resultado de un material para el agua completamente real. También es posible animarlo, lo que explicaré después. No me meteré en como utilizar los plugins para el trazado de rayos, ya que este es un tutorial general y la solución la podrás encontrar en algunos manuales. De todas formas, el uso de estos plugins son muy parecidos y para activarlos sólo tienes que cambiar el renderizador en el menú de preferencias para que pase a funcionar.

Paso número 1:
Lo primero de todo, necesitamos un ambiente (environment). Usando la técnica descrita en los tutoriales para la creación de terrenos (que puedes encontrar en algún lugar de la web de 3dsymax), crearé un pequeño lago y utilizaré un material standard del 3ds Max, para que puedas renderizarlo. No pondré mucho énfasis en el terreno, ya que sólo es un ejemplo. El material será gris, así que, pensaremos en un área seco y rocoso con un lago. Colocaré algunas primitivas simples en el para enseñar mejor el efecto de refracción y reflexión al renderizarlo (o mejor dicho, al ray-tracearlo). Aquí hay una muestra de cómo nos van las cosas:

Este es nuestro terreno. Es una imagen sombreada que enseña los contornos.

Incluiré también un fondo de nubes, y lo haré haciendo uso otra vez de materiales standard del 3ds Max, lo que quiere decir que renderizar correctamente. Así que ya tenemos un terreno. La malla para el agua es sólo un cubo. En la escena posiciona éste para que encaje en tu idea sobre donde quieres situar el nivel del agua. Colocamos una cámara y volvamos a renderizar.

Bueno, parece algo aburrido, pero no importa. Es sólo un ejemplo.

Ya esta para el ambiente. Vayamos a la creación del agua: paso número 2:
Aquí es donde utilizaremos el plugin. Para este tutorial utilicé el ray Studio, pero la técnica utilizada es fácilmente aplicable a otros plugins de este tipo. He incluido el material que hice aquí en un archivo. Mat. Crea un material del tipo ray Studio material con estos valores (si utilizas el raymax y otro similar tendrás que jugar con los parámetros para intentar conseguir el mismo efecto):

Los parámetros para el material ray-traceado. Los colores no son de importancia.

Es hora de crear las ondas en nuestra superficie de agua. Para esto tenemos dos opciones, hacerlo a través de una malla (haciendo uso del noise y de los spacewarps) o haciendo uso de un material Bump. Usaré éste último por lo explicado anteriormente. Busca el botón de Bump dentro del material de ray-tracing y selecciona un material de ruido (noise). He utilizado estos parámetros, pero recuerda lo de siempre, pueden mejorarse para otras escenas.


El tamaño utilizado no hará parecer las ondas demasiado grandes, y el uso del fractal es el mejor para nuestros propósitos (en mi opinión). Recuerda poner la intensidad del ruido a 7, o algo parecido. El valor por defecto es 100, y eso es una monstruosidad. Ahora tenemos una superficie con reflexión y con ondas, lo que le hace parecerse al agua. Como he dicho antes he añadido algunas figuras para mostrar el aspecto del agua al reflejar estos. Aviso que lo hago de forma didáctica, no estética. Renderizemos de nuevo:

El ray-tracing nos enseña su poder a la hora de calcular las refrlexiones y refracciones.

Animación.

Lo prometido es deuda: les mostrare como animar el agua. Si te fijas en el panel de ruido, hay un parámetro llamado phase. Cambiando éste valor para una serie determinada de fotogramas el ruido cambiara. Recuerda que cualquier parámetro en el 3ds Max es animable, así que, dale al botón animate y vete a un fotograma distinto, cambia el valor de phase y listo. Hacer ésta secuencial mente y aplicando distintos valores para una serie de fotogramas harán que las ondas del agua sean reales.

El Raytracing es muy lento y consume mucho tiempo y, aunque el resultado es espectacular podemos a veces desesperarnos a la hora de aguantar el render. El uso de focos con mapeado de sombras en la escena es la mejor forma y la más rápida para tener luces en escena.

Eduardo avendaño[/size] Eduardo@esidi.com.

Miniaturas adjuntas
Efecto de agua-imagen1.jpg   Efecto de agua-imagen2.jpg   Efecto de agua-imagen3.gif   Efecto de agua-imagen4.gif   Efecto de agua-imagen5.jpg  

Efecto de agua-imagen6.jpg  

Ver más sobre el tema y los comentarios en el foro