在三個(gè)關(guān)鍵位置創(chuàng)建三個(gè)Locator,如圖命名為Lightlocator、Startshadow和Endshadow,分別代表燈光的空間位置、陰影的開始位置和陰影的結(jié)束位置。(圖02)
將三個(gè)Locator用鼠標(biāo)中鍵從Outliner窗口拖至Hypershade窗口中,同時(shí)創(chuàng)建兩個(gè)DistanceBetween節(jié)點(diǎn),如圖鏈接,以計(jì)算射燈和兩個(gè)Locator的距離值。(圖03)
再創(chuàng)建PlusMinusAverage和MultiplyDivide兩個(gè)節(jié)點(diǎn),利用PlusMinusAverage求上圖中1和2的差值。而MultiplyDivide節(jié)點(diǎn)則輸出數(shù)值提供給下一步的計(jì)算,連接方法如下圖所示,PlusMinusAverage的計(jì)算方式選擇為Subtract減法計(jì)算。 這樣我們可以計(jì)算出兩個(gè)距離差值。MultiplyDivide節(jié)點(diǎn)是為后面的計(jì)算作準(zhǔn)備。(圖04)
創(chuàng)建一個(gè)LightInfo節(jié)點(diǎn),可以得到主燈到被作用物體的采樣距離,同時(shí)再鏈接一個(gè)PlusMinusAverage節(jié)點(diǎn),為后面的計(jì)算做準(zhǔn)備。(圖05)
把這兩節(jié)點(diǎn)群鏈接。MultiplyDivide節(jié)點(diǎn)設(shè)置為Divide除法計(jì)算。這樣我們可以把Lightlocator到Endshadow和到Startshadow的距離差值,通過SampleDistance得到的燈光采樣距離進(jìn)行計(jì)算,由于SampleDistance是一個(gè)變量,所以這個(gè)比值也是一個(gè)變化的數(shù)值。(圖06)
圖06
創(chuàng)建兩個(gè)Remp節(jié)點(diǎn),通過上面得到的數(shù)值來控制燈光投影的屬性,鏈接方法如下,我們創(chuàng)建的Clamp節(jié)點(diǎn)的作用是截取了一段數(shù)據(jù),這段數(shù)據(jù)的范圍被設(shè)置成0到1,以此來控制Ramp節(jié)點(diǎn)的vCoord屬性。(圖07)
圖07
如圖調(diào)整Ramp的顏色分布來控制燈光的陰影深度分布和陰影的。(圖08)
圖08
用參數(shù)調(diào)整得到比較好的測(cè)試結(jié)果,如下圖所示。(圖09)
圖09
這就可以了!模擬光線追蹤陰影的制作過程就到這了,其實(shí)沒多少內(nèi)容,也很簡(jiǎn)單,回去多練習(xí)哈!謝謝大家支持!
想了解更多的內(nèi)容請(qǐng)登陸m.10000bestjobs.com