Hola. Tan sólo quería comentar una cosa sobre el Ambient Occlusion. En todos los sitios donde hablan de cómo aplicar el Ambient Occlusion pass sobre la escena normalmente iluminada, siempre se dice que el Ambient Occlusion es una capa que siempre se multiplica. Y lo cierto es que, si nos ceñimos a la ecuación de la iluminación, es incorrecto.
La ecuación de la iluminación muy simplificada vendría a ser la siguiente:
Color_final = global_ambient + (por_cada_luz_diffuse + por_cada_luz_specular) (ecuación 1).
Nota: (por_cada_luz_diffuse + por_cada_luz_specular) vendría a ser el render que nosotros sacaríamos con iluminación directa, nada de GI. Es decir, la siguiente imagen:
Diffuse pass (no hay Specular).
Es decir, que el ambient se suma a la contribución de todas las luces. Por lo tanto, el Ambient Occlusion entraría en esa ecuación de la siguiente forma:
Color_final = global_ambient * ambient_occlusion + (por_cada_luz_diffuse + por_cada_luz_specular) (ecuación 2).
Ambient Occlusion pass.
O sea que el Ambient Occlusion es un multiplicador que regula la intensidad de la luz ambiente (global) y no de la iluminación directa. Esto quiere decir que la contribución de la luz ambiente no será homogénea, sino que habrán zonas muy ocluídas donde la luz ambiente será mínima y zonas muy poco ocluídas donde la luz ambiente será máxima. Aquí tenéis la imagen (he aplicado un mayor contraste al AO para que se note más):
resultado de aplicar la ecuación 2.
disposición de las capas para aplicar la ecuación 2.
otra imagen para que se aprecie mejor la oclusión bajo la esfera.
Esto contrasta con lo que obtenemos aplicando el método de multiplicar el Ambient Occlusion a la escena con iluminación directa:
Color_final = ambient_occlusion * (por_cada_luz_diffuse + por_cada_luz_specular) (ecuación 3).
resultado de aplicar la ecuación 3.
Si interpretamos esa ecuación, nos damos cuenta de que lo que hace es obstaculizar la iluminación en zonas muy ocluídas. Eso quiere decir que si tenemos una esfera sobre un suelo, el Ambient Occlusion será de un tono grisáceo tirando a negro en esa zona de contacto. Ahora imaginad que tenemos una luz que está iluminando esa zona. Con la ecuación 3, por muy intensa que sea dicha luz, la zona ocluída seguirá siendo de color grisácea/negra, lo cual es del todo incorrecto. Lo correcto sería utilizar la ecuación 2.
Ahora bien, yo me imagino que el hecho de multiplicar el Ambient Occlusion será para simular suciedad de forma sencilla. Es lógico, puesto que es en zonas muy intrincadas donde se suele acumular más suciedad.
En fin, sólo es una apreciación para que no deis por hecho que el Ambient Occlusion siempre se aplica así. Todo depende de lo que se busque, pero en términos de iluminación, el ambient occlusión se aplicaría tal como indica la ecuación 2. Saludos.
-- IMÁGENES ADJUNTAS --
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27969
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27970
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27972
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27973
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27974
🖼️
Estamos trabajando para mostrar las imágenes del foro
Adjunto #27975