maya教程-分析衰減深度帖圖陰影(一)
我們可以用使用深度帖圖陰影來(lái)模擬柔和的光線追蹤 (RayTracing) 的效果 .
衰減 (ATTENUATED) 這個(gè)詞的含義是消減和柔化陰影 . 在以下的例子中 , 我們通過(guò)調(diào)整陰影的顏色來(lái)減弱陰影的亮度 . 我們這里所演示的技巧在某些場(chǎng)景中是十分有效的 . 他能極大的減少渲染時(shí)間 . 但是在某些場(chǎng)合慊故潛匭朧褂霉庀咦紛?. 例如當(dāng)光線通過(guò)使用了透明帖圖的物體或有顏色的透明表面時(shí) , 就要必須使用光線追蹤 .( 但即使是后面兩種情況有時(shí)也可以用深度帖圖模擬光線追蹤 . 可以參考我翻譯的另一篇教程。
下面兩圖是左邊用光線追蹤右邊是衰減深度帖圖渲染 . 效果差不多但是光線追蹤的渲染時(shí)間要多 2.6 倍 .
Section1
打開(kāi)場(chǎng)景 attenuatedDmapShadow.mb 這個(gè)場(chǎng)景包含一個(gè)椅子模型和一個(gè)加上了 attenuated dmap shadow 效果的聚光燈 , 其名稱為 dmapSoftShadow.
Section2 .
在 Hypershade 窗口中的 light 選項(xiàng)卡下選擇 dmapSoftShadow, 并點(diǎn)擊 Show Upstream Connections 按鈕 . 便可以看到這個(gè)聚光燈的網(wǎng)絡(luò)節(jié)點(diǎn) . 這個(gè)網(wǎng)絡(luò)是為了從最近點(diǎn)到最遠(yuǎn)點(diǎn)淡化陰影而設(shè)置的 . 它包含 3 個(gè) Locators, 一個(gè)燈光信息節(jié)點(diǎn)以及一些能驅(qū)使兩個(gè) Ramp textures 調(diào)整陰影的過(guò)濾尺寸和顏色屬性的數(shù)學(xué)節(jié)點(diǎn) .
Section3
Locator 的作用是在空間里標(biāo)定位置 . 第一個(gè) Locator 的位置就是聚光燈的位置 , 他和聚光燈之間有 constrained 的聯(lián)系 . 另外兩個(gè) Locator 分別在陰影的開(kāi)始和結(jié)束的位置 .
Section4
這 3 個(gè) locators 與 2 個(gè) Distance Between 節(jié)點(diǎn)連接 .Distance Between 節(jié)點(diǎn)是用來(lái)計(jì)算聚光燈和另外兩個(gè) locator 的距離的 .
Distance Between 節(jié)點(diǎn)輸出的是 3D 空間上兩點(diǎn)間的距離 . 是通過(guò)下面的公式計(jì)算的 .
(x1,y1,z1) 和 (x2,y2,z2) 分別是兩個(gè) locator 的坐標(biāo) .
注意 : 必須用 MEL 命令來(lái)創(chuàng)建 Distance Between 節(jié)點(diǎn) , 輸入 createNode distanceBetween; 命令 . 這個(gè)節(jié)點(diǎn)不會(huì)在 Hypershade 出現(xiàn) . 你必須在 Outliner 中用鼠標(biāo)中鍵把它拖到 Hypershade 中去 .
Section5
然后把聚光燈到兩個(gè) locator 的距離連接到 plusMinusAverage Utility 節(jié)點(diǎn)上 . 并將此節(jié)點(diǎn)設(shè)為 Subtract 方式 . 這是一個(gè)將聚光燈到兩個(gè) locator 的距離相減的工具 . 我們可以了解到兩個(gè)距離之差 ( 注意這里是遵循矢量加減法則 )
這個(gè)距離上的差值將決定兩個(gè) Ramp texture 節(jié)點(diǎn)如何影響 dmap shadow 的 Filter Size 和 Shadow Color.
Section6
為了確定聚光燈到某個(gè)點(diǎn)的距離 , 必須使用 Light Info Utility 節(jié)點(diǎn) . 和 Sampler Info 節(jié)點(diǎn)相似 ,Light Info 節(jié)點(diǎn)與其他節(jié)點(diǎn)連接時(shí)能提供某個(gè)被渲染點(diǎn)的信息 .
Light Info 與 Sampler Info 不同之處在于需要將一個(gè)燈光信息連接到 Light Info 上 . 你會(huì)注意到在渲染網(wǎng)絡(luò)中 dmapSoftShadow 聚光燈的 worldMatrix[0] 屬性連接到了 Light Info 節(jié)點(diǎn)的 worldMatrix 屬性上 . 它告訴了 Light Info 從場(chǎng)景中的什么地方計(jì)算輸出屬性 Sample Distance.
Sample Distance 是從聚光燈中心到某個(gè)被渲染點(diǎn)的距離 .
注意 :Light Info 節(jié)點(diǎn)在確定 Sample Distance 時(shí)十分有用 .
上一篇:maya制作光線陰影
入學(xué)要求 | 課程設(shè)置 | 暴雪動(dòng)態(tài) | 我要報(bào)名
學(xué)員作品 | 就業(yè)學(xué)員 | 招生問(wèn)答 | 暴雪簡(jiǎn)介
公司作品 | 周邊介紹 | 教學(xué)環(huán)境 | 乘車路線