一、👋🏻前言
你現在看見的是一套非常系統的ASE入門學習教程,并不是心血來潮隨心創作的。
up原來是初中物理老師(有教師資格證)后轉入程序行業,認真學習過課程設計等相關知識,只要你認真的學每一篇文章,這將是一個輕松入門的shaderASE課程
注意按照專欄默認順序閱讀
課程使用Unity版本:6000.0.47f1
課程使用ASE版本:Amplify Shader Editor 1.9.8.1
大家好,我是菌菌巧樂茲~本節內容主要講一下,shader中噪聲的種類,通過噪聲做一個很火焰相似的造型
二、思路
我們先觀察一下火焰的形狀
他是一個接近圓形,但是在往上動的形狀,再看他有顏色的部分,像一個又一個不規則的窟窿眼。
所以我們的制作分以下幾步:
1.制作圓形,中間清楚,四邊模糊
2.制作不規則窟窿眼
3.顏色是下重上輕(制作梯度)
4.不規則動起來
三、制作圓形
這一步有兩個方案都可以解決:
方案一:
畫一個圓形的圖,中間到四周是漸變,如下圖所示(制作方式略,ps,ppt什么的都能畫)
方案二:
用ase中的代碼畫一個
你這里可以不學,這里涉及了一點數學,可以用上面的方案代替,但希望大家學會,為未來更多的數學打下基礎。
1.我們有一個quad模型,就是一個平面,uv中間的點的坐標是(0.5,0.5)
2.我們計算其他點到這個點的距離,可以想象到,距離越近,離0越近,距離越遠,離0越遠,因為1是白色,0是黑色,我們可以畫出一個圖,代表從中心到四周的距離
3.把0和1翻轉一下,就是黑色和白色翻轉一下,就可以變成如下圖所示
這樣就畫成了一個圓
方案二的實際制作
1.新建一個vector2把頂點中心數據寫出來
2.拿到貼圖的其他頂點坐標
注:VertexTexCoord是什么?
之前我講過uv貼圖是什么,當uv貼圖貼到模型上之后,每一個模型頂點都會對應一個uv坐標。這個uv坐標就是vertexTexcoord。在絕大多數時候,uv坐標的值都是在0-1之間,所以vertexTexcoord的值也是0-1之間,并且左下角是(0,0),右上角是(1,1)
3.節點Distance
distance節點是計算兩個點距離的節點,把他們連起來就得到了初步的圓
4.節點smoothstep
因為上面的圓中間太小了,兩邊也太灰了,我們希望稍微改變一下
(中間太小了,意味著0太少了,兩邊灰,說明兩邊的1太少了)
節點smoothstep介紹
看輸入值在不在這個最大值和最小值之間,如果比最小值小,就等于最小值,如果比最大值大,就等于最大值。如果在他們之間,就拉一條曲線,根據曲線來輸出個值
例如,min = 0,max=1,就在0和1之間拉一條曲線,如果這時輸入值是0.7,那么根據曲線,輸出值是0.8
通過smoothstep節點,可以調節一下你希望的圓的大小,這里可以自己調試,最后菌菌茲調試的結果如圖所示。
5.圖像轉換
因為0乘任何數為0(黑色),相當于圖片消失了,1乘任何數為1,相當于保持不變,火焰是中間有顏色,兩邊消失,所以我們要把黑白翻轉,相當于0和1翻轉,方法就是用1去減【0,1】之間的數,就反轉了,如下圖所示
這樣,我們的圓圈就做完了
四、不規則窟窿眼制作
不規則的窟窿眼是用噪波制作的,ase中的噪波有5種,之前講過4種,在如下鏈接。
Unity | AmplifyShaderEditor插件基礎(第八集:噪聲波動shader)_unity 噪聲波動shader-CSDN博客
這里再介紹一種噪聲Voronoi
噪聲Voronoi
Voronoi噪聲就像在平面上撒一堆“種子”,然后讓每個種子向外擴張自己的“領地”,最終形成一塊塊像蜂窩或拼圖一樣的圖案。所以也叫細胞噪聲。如下圖所示。
這里面最主要的幾個參數(其他用到再說):
-
Scale:相當于種子的數量。種子越多,細胞越多
-
Angle:相當于你拿個玻璃棒進去攪動,在數字變化時,他會改變位置
-
unity's Voronoi:unity也有這個東西,和ase算出來的圖像不太一樣,就看你用哪個
制作窟窿眼
因為火焰一般是有邊緣感的,所以我們把voronoi噪聲用上,又因為一個噪聲太規則了,火焰是不規則的,所以我們需要把兩個噪聲拼到一起。
這里都是講過的制作方式,直接就上圖了。
1.階梯噪聲設置
2.細胞噪聲設置
3.把他們拼裝在一起
這樣就有火焰那味了。
五、結語
非常感謝你的觀看,如果你覺得我幫到你了,可以給我點一個贊嗎~
我會為此創作更多的文章。