?一、什么是Shader?
Shader的中文名叫著色器。
二、什么是著色器?
著色器的作用:這個(gè)世界是3D的,包括在Unity的場(chǎng)景中,我們建的球球,方塊塊之類的,都是3D的,但是,屏幕是2D的,把3D的東西,通過顏色的匯總,顯示在2D的屏幕上。
三、顏色是怎么匯總的?
想知道顏色是怎么合到一起的,我們就找個(gè)圖片,把它拆開看。
因?yàn)槭澜缟纤械念伾?,都可以通過三種顏色(紅綠藍(lán))組合出來。
所以我們也把圖片拆成這三種顏色。
1.拆圖片
所有圖片都是由四部分組成
R 紅色、G 綠色、B 藍(lán)色、A 透明
比如下面這個(gè)圖:
?
R(紅色)的部分:
G(綠色)的部分:
B(藍(lán)色)的部分:
A(透明)的部分:
這里解釋一下A:
A的意思是黑色的部分就沒有圖片,是透明的,就是圖中的
白色的部分就是圖片可以顯示,有什么圖片就顯示什么圖片
總結(jié)一下就出現(xiàn)了經(jīng)典的話:黑透白不透
2.顏色組合?
我們每個(gè)位置,把這四種組合起來,就能出現(xiàn)不同的顏色(如下)
然后,把想要的顏色,上到屏幕上指定的位置,就變成了我們想要的圖案。
?四、圖片是怎么動(dòng)起來的?
1.舉個(gè)例子
?上面的圓形,就是不停的換顯示的圖片。
這里還不理解,可以看下面的鏈接
【手翻書】悲傷的小人_嗶哩嗶哩_bilibili
2.對(duì)于著色器來說
每張圖片,對(duì)著色器來說,就是把顏色顯示在不同的地方。
所以,對(duì)著色器來說,讓圖片動(dòng)起來,就是改變顏色原本的位置。
所以,如果我們希望火焰上下動(dòng)起來,我們只需要改其中一個(gè)顏色的位置。
因?yàn)榛鹧媸羌t色為主的,所以改紅色效果會(huì)最明顯。
那么我們讓火焰R圖(如下圖)的透明框一會(huì)變大一會(huì)變小,那顯示的火焰就會(huì)一會(huì)大一會(huì)小。
還可以左右改變位置:比如我們讓其他圖繼續(xù)嚴(yán)絲合縫的拼,但是把上圖循環(huán)的從居中位置,往左偏一點(diǎn),那火焰的顏色就會(huì)改變,右邊被移開的一小部分就沒有紅色了,左邊因?yàn)榧t色位置改變了,和之前的顏色顏色就會(huì)有改變,就會(huì)出現(xiàn)一些動(dòng)態(tài)的效果。
真正的火焰燃燒時(shí),每個(gè)位置的顏色不可能都一直保持一致,一會(huì)黃一會(huì)紅,才有燒的感覺,這種情況就讓紅色錯(cuò)位就能做到了
五、著色的分類
1.頂點(diǎn)著色器
下圖是一個(gè)顏色漸變的線,在畫這個(gè)線的時(shí)候,我們一般只管點(diǎn)(箭頭指的)的顏色,中間的顏色就是根據(jù)情況過度過去的。
結(jié)論:知道兩個(gè)點(diǎn)的顏色,可以填出一個(gè)線的顏色。
2.幾何著色器
下圖是一個(gè)漸變的面,當(dāng)我們用頂點(diǎn)畫出了漸變的線,漸變的線和線之間,就可以填出漸變的面。
結(jié)論:得到漸變的線,就可以填出漸變的面。
3.細(xì)分著色器
我們往往不是做特別簡(jiǎn)單的一個(gè)面,我們可能做圓的,弧面,歪七扭八的,這時(shí)候,我們需要進(jìn)一步讓這個(gè)面更像我們希望的樣子,就用這個(gè)著色器。
?4.像素著色器
?到了上一步,物體基礎(chǔ)的顏色,已經(jīng)出現(xiàn)了,但是,物體會(huì)在不同的環(huán)境下,收到反光,太陽,等其他顏色的影響,可以理解為幾個(gè)顏色融合到一起,這時(shí)候就用到了像素著色器。
5.上色步驟匯總
這些個(gè)步驟放一起,也叫shader,畢竟他們只是為了一種東西染色。
?六、Unity當(dāng)中我們使用的著色器
1.多個(gè)一套著色器
首先,不同的物體會(huì)用不同的著色器。
比如,石頭用石頭的著色器,水面有水面的著色器,可以想象,一個(gè)場(chǎng)景里會(huì)有很多個(gè)著色器(shader),那么,unity不可能把所有shader都收錄進(jìn)來,那軟件得多大,所以,unity就給他收集了一部分幫助大家日常使用。
那么這些好多個(gè)shader在一起,起了個(gè)名字叫做渲染管線。
舉個(gè)例子:一個(gè)美女叫美女,好多個(gè)美女在一起,有可能叫女團(tuán)。
?2.unity當(dāng)中的渲染管線
unity的考慮:
a.我們既然放了一些shader,所以你們可以考慮只用我們的shader。
b.如果你對(duì)我們的shader不滿意,那么你可以自己建立shader。
c.如果你不光不滿意我們的shader,你還覺得清晰度不夠,那么我們不光讓你自己建,我還能讓你超高清。
備注:為啥不直接用c呢,看著就知道c好,啥都有。但是c大呀,就為啥有大小不一樣的杯子,你不能辦公室喝水,抱個(gè)水桶干吧。
所以u(píng)nity就開了不同種的渲染管線,讓你自己選擇。
分別叫做:
七、其他相關(guān)知識(shí)?
著色器和材質(zhì)的關(guān)系:文章來源:http://www.zghlxwxcb.cn/news/detail-554912.html
Unity | Shader(著色器)和material(材質(zhì))的關(guān)系-CSDN博客?文章來源地址http://www.zghlxwxcb.cn/news/detail-554912.html
到了這里,關(guān)于Unity | Shader基礎(chǔ)知識(shí)(什么是shader)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!