這是關(guān)于ben? cloward虛幻引擎材質(zhì)教學(xué)的筆記
pbr材質(zhì)簡(jiǎn)述



















數(shù)據(jù)運(yùn)算

1,一維數(shù)據(jù),適合用于調(diào)整金屬度,粗糙組,高光。
這幾個(gè)數(shù)據(jù)都是使用一維浮點(diǎn)數(shù)作為輸入。
在這里,將一維數(shù)據(jù)到連接主節(jié)點(diǎn)的三維數(shù)據(jù)口,可以發(fā)現(xiàn)主節(jié)點(diǎn)自動(dòng)補(bǔ)齊了剩下的兩個(gè)通道數(shù)據(jù)。還是以復(fù)制的形式補(bǔ)齊。
2,二維數(shù)據(jù)適合用于調(diào)整uv,但是如果把二維數(shù)據(jù)給與三維接口。

主節(jié)點(diǎn)也是將缺失的第三通道補(bǔ)齊,不過(guò),補(bǔ)的是零。
3,三維數(shù)據(jù)適用于基礎(chǔ)顏色,自發(fā)光,法線。

當(dāng)二維或者三維數(shù)據(jù)輸入主節(jié)點(diǎn)的一維端口
這里使用的是一個(gè)二維數(shù)據(jù)(0,1)。
顯而易見(jiàn),所顯示的是粗糙度為0的情況。
所以,這種情況,主節(jié)點(diǎn)只會(huì)使用第一個(gè)通道的值。
4,主節(jié)點(diǎn)可以這樣對(duì)輸入數(shù)據(jù)進(jìn)行補(bǔ)齊和挑選,但其他節(jié)點(diǎn)之間就不太一樣

一維數(shù)據(jù)可以和其它維度運(yùn)算,二維不能與三維或四維運(yùn)算。
除了一維數(shù)據(jù)和主節(jié)點(diǎn),其它節(jié)點(diǎn)間的運(yùn)算都需要數(shù)據(jù)類型相同。
uv運(yùn)算
1,texcoord節(jié)點(diǎn)的含義
因?yàn)閎en在課程中講解的并不是很清楚,這段關(guān)于uv的部分都是我自己思考猜出來(lái)的。


上圖uv兩個(gè)通道合起來(lái)的樣子,下面把兩個(gè)通道單獨(dú)顯示,將texcoord的兩個(gè)通道拆出來(lái)


texcoord節(jié)點(diǎn)在r和g通道提供兩張這樣的梯度圖。當(dāng)我們對(duì)texcoord節(jié)點(diǎn)進(jìn)行加減乘除時(shí)。
是對(duì)texcoord的這兩張圖進(jìn)行一系列運(yùn)算,改變r(jià)和g通道上的灰度分布,再將其傳遞給texture sample節(jié)點(diǎn)的uvs端口。
texture sample節(jié)點(diǎn)會(huì)檢查每個(gè)點(diǎn),讀取這個(gè)點(diǎn)傳遞進(jìn)來(lái)時(shí)對(duì)應(yīng)rg通道的灰度信息,再調(diào)用原uv的r和g灰度值所對(duì)應(yīng)位置的貼圖信息。
舉個(gè)例子,texture sample節(jié)點(diǎn)中,傳遞進(jìn)來(lái)一個(gè)點(diǎn),它的rg通道灰度值分別為(0.3,0.21),但它在傳進(jìn)來(lái)時(shí),在那張圖絕對(duì)位置是(0.8,0.9),此時(shí)它會(huì)調(diào)用原uv(0.3,0.21)處的貼圖數(shù)據(jù),雖然它在傳遞給texture sample時(shí)的絕對(duì)位置是(0.8,0.9)。
再舉個(gè)例子,如果將兩個(gè)數(shù)字輸入給texture sample的uvs端口,會(huì)咋樣?

如果輸入0.5和0.5,就是把r和g兩張灰度為0.5的圖對(duì)texture sample輸入,然后texture sample會(huì)將所有的點(diǎn)都調(diào)用原uv中(0.5,0.5)處所對(duì)應(yīng)的貼圖數(shù)據(jù)。
結(jié)果:

2,uv的加法
對(duì)于uv的運(yùn)算,輸入給texture sample,超過(guò)1的數(shù)值整數(shù)部分會(huì)被忽略,只讀取其小數(shù)部分。
此處以u(píng)(x)方向?yàn)槔?/p>


表現(xiàn)在貼圖上就是貼圖左移了10%。
實(shí)例:


其實(shí)我們的計(jì)算主要是對(duì)u和v的黑白貼圖進(jìn)行變化,然后調(diào)用原uv數(shù)據(jù)和省去整數(shù)這部分都是texture sample這個(gè)節(jié)點(diǎn)在進(jìn)行。所以我們可以像編輯貼圖那樣對(duì)輸入texture sample的圖像進(jìn)行編輯。
3,uv的乘法
清楚了加法,乘法的道理也是一樣


從左到右就是從0到3
因?yàn)闀?huì)忽略整數(shù),所以就是將0-1重復(fù)三次,貼圖在u方向平鋪三次。
4,世界絕對(duì)位置下的uv變化
ben在案例中大量使用了世界坐標(biāo),是因?yàn)槭澜缱鴺?biāo)可以隨著物體改變而發(fā)生改變。
作用到材質(zhì)上,結(jié)果就是,只需要制作很少的貼圖,把他們擺在不同的位置,就有不同的材質(zhì)表現(xiàn)。

當(dāng)使用絕對(duì)世界位置時(shí),這些貼圖會(huì)平鋪很多次,究其原因,也是因?yàn)閭鬟f給texture sample的圖中,數(shù)值從0到很大,去除整數(shù),實(shí)現(xiàn)了多次0到1。
現(xiàn)在,將世界坐標(biāo)乘以較小的一個(gè)數(shù),得到下面這張圖


