讲解Ambient Occlution的原理与高级应用(3)
我们连接的纹理文件(图中虚线框),一定要把writable选项打开,才能使我们的纹理写道磁盘文件上,连接图如下。(图20)
图20
烘焙完纹理以后,前期工作就算完成了,就可以用我们的mib_bent_normal_env了。
我们可以这样理解这个节点,他的作用跟把烘焙的纹理不但能直接加到物体的材质上,而且它可以是相对环境的反应,只不过我们要用一张环境贴图,而不是真实物体的影响。
这种方法主要是用在实时渲染(realtime rendering),也就是我们说的游戏中,能模拟很好的全局光照。下面是我们烘焙好的两张图,一张是环境遮挡,另一张是bent normal。(图21、图22)
图21
图22
环境遮挡
连接方法示意图。(图23)
图23
节点的实际连接图。(图24)
图24
环境遮挡的高级应用实际应用中,将环境遮挡,单独渲染成一层,然后再后期是使我们最常用的方法,因为只要我们不追求物理的真实度的话,这种方法是很灵活方便的。
我们在PS中举个例子。下面是我们渲染的两个层,一层是color层,另一层就是occ层。(图25、图26)
图25
图26
在PS里面我们可以把occ层设为mutiply模式,合成后为下图。(图27)
图27
在MentalRay中,我们可以把Ambient occlusion作为一个Light shader,成为灯光的内建环境遮挡,节点连接如图。(图28)
图28
渲染如图。(图29)
图29
我们可以分析一下,每个渲染点需要查询灯光,我们的灯光是环境遮挡Shader,他会返回这个点的照明强度为这个点的遮挡程度,背离灯光的地方,途中黑色的地方,因为它在灯光的阴影区,也就是说它不会去查询灯光照明强度的,因此没办法调用环境遮挡,从而成了黑色。
到此为止,我们的环境遮挡就讲到这里了,感谢大家看我的教程。