maya教程-分析衰減深度帖圖陰影(二)
Section7 和 section5 的方法類似 , 我們用另一個(gè) plusMinusAverage 節(jié)點(diǎn)來(lái)確定 Sample Distance 和聚光燈到 startShadow locator 的距離差 . 為方便起見(jiàn) , 這個(gè)差值命名為 sample point difference.
Section8
上一步中得到的 sample point difference 是用來(lái)調(diào)整陰影的 . 如果這個(gè)值比較小 , 那么被渲染的點(diǎn)就離 startShadow locator 比較近 . 如果這個(gè)值比較大 , 那么被渲染的點(diǎn)就離 startShadow locator 比較遠(yuǎn) .
但是這個(gè) sample point difference 地值可以是從 0 到一個(gè)很大的數(shù) . 這個(gè)無(wú)限的范圍不太適合用于 Ramp 節(jié)點(diǎn) .Ramp 節(jié)點(diǎn)適合于 0-1 的范圍 . 為了解決這個(gè)問(wèn)題 , 需要使用一些數(shù)學(xué)手段來(lái)把這個(gè)距離差值轉(zhuǎn)化到 0-1 的范圍內(nèi) .
我們把 Section5 中得到的聚光燈到 startShadow locator 和 endShadow locator 的距離之差稱為 total difference.
使用 Multiply Divid 節(jié)點(diǎn) , 計(jì)算出 sample point difference 與 total difference 的比值 . 即 sample point difference 在 total difference 所占百分比 . 這樣就把 sample point difference 轉(zhuǎn)換到了 0-1 范圍內(nèi) .
注意 : 對(duì)于位預(yù) startShadow locator 與聚光燈之間和 endShadow locator 之外的點(diǎn)的返回值將不在 0-1 之間 . 我們將在下一個(gè)節(jié)點(diǎn) Clamp 中調(diào)整 . 因此 locator 的位置并不需要十分精確的位于陰影開(kāi)始和結(jié)束的地方 . 我們可以以后在做調(diào)整 .
Section9
Clamp 節(jié)點(diǎn)能把輸入值限制在一定范圍內(nèi)輸出 .Multiply Divide 節(jié)點(diǎn)在被連接到 Ramp 節(jié)點(diǎn)的 vCoordinate 屬性之前 , 將通過(guò)先 Clamp 節(jié)點(diǎn)來(lái)限制范圍 .Clamp 的 Min 和 Max 分別設(shè)為 0 和 1. 這意味這從 Multiply Divide 節(jié)點(diǎn)過(guò)來(lái)的輸入值在 0-1 之間的保持不變 . 小于 0 的按 0 輸出 , 大于 1 的按 1 輸出 .
注意 : 在 clamp 節(jié)點(diǎn)中只使用 x-channel. 這是因?yàn)榫嚯x這個(gè)屬性是單值的 . 當(dāng)輸入的是 3 值類型的數(shù)據(jù)時(shí) ( 例如顏色的 RGB 值 ) 就要用到其他的 channel.
在這個(gè)渲染網(wǎng)絡(luò)中 ,clamp 節(jié)點(diǎn)的輸出值將連接到 Ramp 節(jié)點(diǎn)的 vCoordinate 屬性上 .0 表示 vCoordinate 在底部 .1 表示 vCoordinate 在頂部 .
我們可以通過(guò)調(diào)整 ramp 的位置和數(shù)值來(lái)控制輸出 . 最后 ramp 將連接到聚光燈的 Filter Size 和 Shadow Color 屬性上 . 注意 : 如果輸入的數(shù)據(jù)沒(méi)有經(jīng)過(guò) clamp 節(jié)點(diǎn) , 在 0-1 范圍之外的數(shù)據(jù)將重復(fù) coordinate 的值 . 會(huì)導(dǎo)致一些不可預(yù)料的結(jié)果 .( 如下圖 )
Section10
最終將用 2 個(gè) ramp 節(jié)點(diǎn)來(lái)控制 dmap shadow 的 Filter Size 和 the Shadow Color 屬性 .
Filter Size 將影響 dmap shadow 的柔化和模糊效果 . 本例中它被 blurInterpolationRamp 節(jié)點(diǎn)控制 . 這個(gè)節(jié)點(diǎn)有兩個(gè) color entries. 在底部設(shè)為 2, 在頂部設(shè)為 32.
這意味著 Filter Size 的最小值為 2, 這個(gè)值用于渲染離 startShadow locator 最近的點(diǎn) . 而最大值 32 將用于渲染離 endShadow locator 最近的點(diǎn) . 這能給 dmap shadow 產(chǎn)生柔化的衰減效果 .
下圖是將 Filter Size 設(shè)為 1 和不設(shè)置的比較 .
為了加強(qiáng)最終效果 , 我們把另一個(gè) ramp 節(jié)點(diǎn)連接到 Shadow Color 屬性上 . 這個(gè) ramp 的兩個(gè) color entries 的值分別設(shè)為 0.5 和 -0.5. -0.5 將 startShadow locator 附近的陰影變暗 . 而 0.5 使 endShadow locator 附近的陰影變亮和透明 .
入學(xué)要求 | 課程設(shè)置 | 暴雪動(dòng)態(tài) | 我要報(bào)名
學(xué)員作品 | 就業(yè)學(xué)員 | 招生問(wèn)答 | 暴雪簡(jiǎn)介
公司作品 | 周邊介紹 | 教學(xué)環(huán)境 | 乘車(chē)路線