- NeoFronteras - http://neofronteras.com -

Cómo hacer un cabello rubio virtual realista

Foto

En las películas de animación por ordenador se pueden observar mejoras fantásticas según aumentan la potencia de las máquinas empleadas y se diseñan nuevos algoritmos. Algunos de estos algoritmos basados en dinámicas de partículas ya pueden simular bien el fuego, otros simulan el agua y sus propiedades, pero todavía no había un buen algoritmo que simulara el cabello humano rubio sin grandes costos en tiempo computacional.
El cabello rubio es descrito poéticamente con propiedades que se asemejan a las del oro, pero en las películas de animación no parece tener esas propiedades. En la realidad las propiedades ópticas de una cabellera rubia no dependen sólo de los cabellos individuales, sino del comportamiento de la luz y su dispersión en todo el conjunto de cabellos.
Reproducir este tipo de efectos en simulaciones gráficas por ordenador es siempre un desafío. Se puede crear un modelo tridimensional de un conjunto de cabellos muy fácilmente, pero el proceso de rendering en el cual el ordenador tiene que calcular cómo se comporta la luz en ese medio, es decir, sus reflexiones, refracciones y dispersiones hasta crear una imagen, requiere de cálculos muy complejos. Los métodos al uso que no tienen en cuenta del todo esto último y funcionan más o menos bien para el cabello moreno o decentemente para el castaño, pero mal para el rubio.
Steve Marschner de Cornell University ha desarrollado un nuevo método rápido para calcular el rendering del cabello rubio que promete recrear melenas rubias en la pantalla de manera realista.
El nuevo método se presenta ahora en el congreso 2006 SIGGRAPH de gráficos por ordenador en Bostón. Está basado en los ya existentes, pero tiene en cuenta la dispersión de la luz para así rendir un color natural y realista.
En la figura adjunta se puede observar la diferencia entre un mechón (virtual) de cabellos rubios iluminando sólo con luz directa (izquierda) con un mechón equivalente de cabellos rubios simulados (derecha) con el nuevo algoritmo que tiene en cuenta la dispersión de la luz a través de los cabellos. La iluminación directa capta las altas luces pero falla a la hora de mostrar el verdadero color.
El problema es que la luz que viaja a través un masa de cabello rubio no sólo es reflejada por la superficie de cabello sino que pasa a su través y emerge de forma difusa para luego ser reflejada y difundida una y otra vez.
El mejor método que puede simular bien este efecto es el de trazado de camino, en el cual la computadora simulando a la inversa el camino que sigue la luz. En este método se calcula el camino de cada rayo de luz desde su incidencia en cada el píxel de imagen, hacia atrás y hasta llegar a la fuente de luz. Pero este método requiere una cantidad de cálculo enorme y por eso se utilizan aproximaciones al problema aunque no vayan del todo bien, como una reflexión difusa asumiendo que el medio es opaco.
En el nuevo algoritmo se comienza con el trazado de rayos desde la fuente de luz hasta el objeto, se usan ciertas aproximaciones para la difusión y posteriormente se produce un mapa que dice donde los fotones de luz pueden ser encontrados a través de todo el volumen de cabello. Entonces se trazan rayos desde cada píxel de imagen a un punto del conjunto de cabellos y se decide según el mapa creado con anterioridad cuanta luz está disponible en el lugar.
El resultado final, obtenido en 2,5 horas de cómputo, es casi idéntico que la simulación mediante el costosísimo trazado de rayos tradicional que requiere de 60 horas.
Marschner ya compartió un premio de la academia de cine en 2004 por crear un método para hacer el rendering de materiales traslúcidos que incluyen la piel humana y que ayudaron a que el personaje de Gollun de la película «El señor de los anillos» fuera más realista.
Este investigador estudia ahora cómo mejorar su nuevo algoritmo.

Fuente: Cornell University [1]