|
二、AO的原理与作用
先看一段小文字:
《鲨鱼故事》(Shark Tale)是2005年第77届奥斯卡金像奖“最佳动画长片”提名的三部影片之一。为了更好地达到“绘画感”这个需要,总美工设计师皮埃尔特别用到了软区域阴影和反射光,即利用环境光来模拟柔和阴影,这是当时非常流行的一种新的灯光技术,称为“Ambient Occlusion”(梦工厂称之为“exposure”<曝光>),它能够为表面上的每一点精确计算来自天空的自然光量,这样处理的结果就像是一张阴天状态下曝光极好的灰度照片。然后将AO层与环境灯光合成,这样,CG元素与实拍的素材就非常自然地结合在一起了......
3D软件(渲染器)中AO的原理是统一的,Max中mr、fR、VR的AO也是几乎一致的(只是可控性和功能、用途有所不同)。顺便提一下,如果有些使用VR的朋友确实认为mr或fR的AO既快又功能多的话,那么不妨结合了使用,就是说“VR原始渲染+mr或fR的AO”进行合成,这其实也是我最近想到的一个思路。但就目前而言,我还是很喜欢VR的AO,因为它操作简单灵活、效果真实细腻。
What is occlusion ?
To simplify the explanation, just think of a situation when all your objects have a simple white color and your scene is lit equally from all directions by a white light. Basically this should result in a blank white image, but what happens when some objects block a certain amount of rays that should have gotten to other objects ? those rays don't reach the other object and as a result, the parts where the rays were blocked will become darker. The more rays blocked, the darker the surface will be. So basically what we get is a white image with dark areas where geometry intersects with itself.
什么是Occlusion?
简单的来解释,那就想象一下这样的一个情形:当场景中所有的物体都是单一白色并且是由一个白色灯光来产生均匀的直接照明,那么基本上,结果就是得到一个苍白的图像。但是当某些物体阻挡了相当数量的本应投射到其他物体的光线时,那将会发生什么呢?这些光线没有到达那些物体,结果就是被光线阻挡的地方变得较暗。越多光线被阻挡,表面就越暗。所以基本上我们得到的是一个带有自身几何相交暗区的白色图像。
Why using it ?
The resulting occlusion pass gives very accurate and smooth shadows that resemble the result of global illumination. Compositing these shadows over your final render can significantly improve your image in many ways, it can mainly improve your shadows, give more depth to your scene and really helps to better show all the details of your models.
为什么使用它?
Occlusion pass的结果就是贡献了非常精确和平滑的阴影,就好像是全局照明的结果。在你最终渲染后有多种方法来合成这些阴影会在真正意义上改善图像,它主要能改善阴影,给场景更多的深度,真正有助于更好的表现出模型的所有细节。
AO采用快速而廉价的算法来模拟全局照明模式。其大致计算过程是在几何体表面任意一点的上方,用半径预定的半球探测该点的外部区域,从而决定光线是否在该几何体表面上该点处被其他几何体阻挡,或者,被吸收。一旦各点的吸收幅度确定,则几何体表面会形成一张灰度级的映射图,用以调制环境光对该几何体表面的贡献,映射图中明暗区域均按比例调节其对环境光吸收的强弱程度。 |
|