來自
快樂無百褶裙的回答
2024-04-19 16:28:12
第一步打開場景,或者我們參考上圖制作一個相似的場景。分別在三個關(guān)鍵位置創(chuàng)建三個Locator,如圖命名為Lightlocator、Startshadow和Endshadow,分別代表燈光的空間位置、陰影的開始位置和陰影的結(jié)束位置。第二步?將三個Locator用鼠標(biāo)中鍵從Outliner窗口拖至Hypershade窗口中,同時創(chuàng)建兩個DistanceBetween節(jié)點,如圖鏈接,以計算射燈和兩個Locator的距離值。?第三步?繼續(xù)創(chuàng)建PlusMinusAverage和MultiplyDivide兩個節(jié)點,利用PlusMinusAverage求上圖中1和2的差值。而MultiplyDivide節(jié)點則輸出數(shù)值提供給下一步的計算,連接方法如下圖所示,PlusMinusAverage的計算方式選擇為Subtract減法計算。 這樣我們可以計算出兩個距離差值。MultiplyDivide節(jié)點是為后面的計算作準(zhǔn)備。第四步下面我們創(chuàng)建一個LightInfo節(jié)點,鏈接方式如圖所示,通過這個節(jié)點的SampleDistance屬性我們可以得到主燈到被作用物體的3D模型采樣距離,這個值是一個隨著物體位置上采樣點不同而變化的值,同時再鏈接一個PlusMinusAverage節(jié)點,為后面的計算做準(zhǔn)備。第五步?把這兩部分節(jié)點群鏈接如下圖所示。MultiplyDivide節(jié)點設(shè)置為Divide除法計算。這樣我們可以把Lightlocator到Endshadow和到Startshadow的距離差值,通過SampleDistance得到的燈光采樣距離進(jìn)行計算,由于SampleDistance是一個變量,所以這個比值也是一個變化的數(shù)值。第六步?創(chuàng)建兩個Remp節(jié)點,通過上面得到的數(shù)值來控制燈光投影的屬性,鏈接方法如下,我們創(chuàng)建的Clamp節(jié)點的作用是截取了一段數(shù)據(jù),這段數(shù)據(jù)的范圍被設(shè)置成0到1,以此來控制Ramp節(jié)點的vCoord屬性。第七步如圖調(diào)整Ramp的顏色分布來控制燈光的陰影深度分布和陰影的。第八步通過參數(shù)調(diào)整得到比較好的測試結(jié)果,如下圖所示。 歡迎大家前往火星自學(xué)網(wǎng)查看更多的相關(guān)問題與答案。