講解Ambient Occlution的原理與高級應用(2)
大家可以很明顯的看到物體的暗部是沿著反射方向產生的。
我們可以給mib_amb_occlusion的bright的參數連接一個環(huán)境節(jié)點,使得環(huán)境對我們的材質有了影響,但這不說明次光線對環(huán)境光進行了采樣計算,它只是把遮擋的結果與環(huán)境光簡單相乘罷了,連接和渲染結果如圖。(圖09、圖10)
圖09
圖10
第二種連接方法就是將我們的攝像機連接到環(huán)境球查詢節(jié)點上,然后設輸出參數為1(取樣環(huán)境),另外可以選擇occlusion in alpha,如圖。(圖11、圖12)
圖11
圖12
從渲染結果來看,效果是一樣的,但是他對環(huán)境球取樣的階段是不一樣的。我們可以減小它的spread參數,也就是改變次光線取樣范圍,使得反射更集中,渲染如圖。(圖13)
圖13
mib_fg_ occlusion的使用mib_fg_ occlusion其實就是一個選擇器,也就是說如果在渲染的時候渲染全局中打開了final Gather,我們就用final gather來計算遮擋,反而反之,節(jié)點連接如圖。(圖14、圖15)
圖14
圖15
mib_bent_normal_env的使用在講mib_bent_normal_env之前,我們有必要了解一下mib_amb_occlusion其他的輸出模式(output_mode)。
0是標準的遮擋模式,1是環(huán)境進行取樣模式,2、3就是bent normal模式。所謂bent normal就是計算未遮擋的次光線,求平均值,所得到的就是bent normal的法線矢量,名字很形象。
矢量的三個分量的值分別對應紋理的RGB三個值,output Mode的模式2輸出的是世界坐標系,模式3輸出的是攝像機坐標系。(圖16)
圖16
模式2,世界坐標系。(圖17)
圖17
模式3,攝像機坐標系。(圖18)
圖18
mib_bent_normal_env其實是為了加速環(huán)境遮擋所制作的一個節(jié)點,在動畫中對于我們場景中的不移動不變形并且沒有別的物體接近一直影響到他的受光物體,我們就可以采用這種方法,所以局限性很大,但是帶來最大的好處就是渲染速度巨大提升,因為我們不用跟蹤任何一條光線。
我們可以預先將環(huán)境遮擋和bent normal烘焙成紋理文件,我們也可以用lightmap節(jié)點幫我們將文件保存進紋理文件,連接的示意圖如圖。(圖19)
圖19