教程:Unity Shader Graph - Clouds Tutorial - YouTube
- 導(dǎo)入一個(gè)平面
-
創(chuàng)建空白graph后在targetsetting中 add active targets:universal
image.png
勾選Two sided使兩面均可見
image.png
屬性值及其默認(rèn)值設(shè)定
image.png
將屬性作為噪聲縮放率的輸入,連接輸出的base color,應(yīng)用看到效果
image.png - 增加移動的動畫
移動速度(輸入屬性 Vector2) * Time節(jié)點(diǎn)(float) = uv offset(Vector2)
動畫.gif
4.調(diào)整噪聲的密度
用power節(jié)點(diǎn),輸出A^B, A的值在[0,1]之間,B越大輸出值越小,即整體越黑(數(shù)圖點(diǎn)運(yùn)算之冪次變換)
動畫 (1).gif
有時(shí)候紋理預(yù)覽不能正確顯示,play一下刷新就好
5.調(diào)整顏色和intensity
增加color屬性,模式選為HDR。color節(jié)點(diǎn)與power的輸出相乘
image.png
image.png -
增加不透明度
增加alpha屬性與噪聲相乘,graph settings中將surface設(shè)為Transparent,片元著色器中增加Alpha,乘積輸出至此。
image.png
操作:相機(jī)或其他物體視角與視圖對齊(或反之)

image.png
目前的節(jié)點(diǎn)和效果:

image.png
-
添加擾動
目前的云完全重復(fù)一致,增加另一套噪聲做擾動,使云的形狀有變化
image.png
兩套噪聲的scale和speed要有倍數(shù)差距才能看出效果

動畫 (2).gif
目前是一層純平面的云
8.添加厚度
將模型建為很多細(xì)分的微凸起面,構(gòu)造足夠多的頂點(diǎn)

image.png
在vertex shader中增加關(guān)于起伏的節(jié)點(diǎn),Normal Vector和Position的空間都選為Object
new vertex position = 物體空間法向*主噪聲輸出*offset比例+原來的vertex position
相當(dāng)于把凸面的頂點(diǎn)沿法向往外移 而且隨噪聲的動畫移動

image.png
vertexoffset設(shè)到千分之一就有明顯厚度起伏

image.png
做出偽體積感

動畫 (3).gif
9.制作空洞
勾選AlphaClip并設(shè)置其參數(shù),制造云的空洞,小于該alpha閾值的位置都變?yōu)榭斩?/p>

image.png
完成效果

動畫 (4).gif
完整shader graph

image.png









