unity--Shader實(shí)現(xiàn)LOL幽靈船長(zhǎng)皮膚效果
LOL中船長(zhǎng)有一款叫做幽靈船長(zhǎng)的皮膚,相信大家應(yīng)該都知道,雖然不是什么好看的皮膚,沒什么特效,但是還是有點(diǎn)意思的。我們都知道游戲中的換裝無非就是換模型,換材質(zhì),換網(wǎng)格這幾個(gè)套路。那么在untiy當(dāng)中我們應(yīng)該怎么做才能有像幽靈船長(zhǎng)這樣的效果呢?其實(shí)我們只需要編寫一個(gè)Shader腳本,就能實(shí)現(xiàn)這樣類似的效果。在這里我分享下我的做法。先上效果圖。

哈哈,這是幽靈拉克絲,不是幽靈船長(zhǎng)。效果差不多了,不要在意這些細(xì)節(jié)。那么這是怎么做的?其實(shí)也是很簡(jiǎn)單的。不會(huì)很難。接下來我們來看看具體怎么做。
首先我們咋一看是不是有點(diǎn)像在醫(yī)院拍的X光的片子?那么這個(gè)效果我們也可以叫它X光效果??梢钥闯鲋虚g顏色比較深,邊緣顏色比較淺,其實(shí)這就是利用法線與視線的向量點(diǎn)乘來進(jìn)行計(jì)算的,其余細(xì)節(jié)接下來再說,然后根據(jù)這個(gè)點(diǎn)乘值進(jìn)行著色。最終呈現(xiàn)出來。這邊先上Shader代碼:推薦一個(gè)學(xué)習(xí)交流群:1072209430


OK,代碼就在上面了,關(guān)鍵點(diǎn)注釋已經(jīng)標(biāo)注,其他的都是正常操作,這里需要說一個(gè)點(diǎn),就是我們想要的是幽靈的效果/X光的效果,那么很明顯它是輸出顏色的。所以我們最終需要返回COLOR,然后還有一個(gè)就是我們需要進(jìn)行顏色的混合,打開混合模式。同時(shí)深寫模式要關(guān)掉。這樣的話,效果才會(huì)更好。至于幽靈的效果程度,我們可以通過調(diào)節(jié)參數(shù)來實(shí)現(xiàn)。慢慢試下就可以達(dá)到自己想要的效果了。關(guān)于是如何通過視線與法線的點(diǎn)成來得到中間顏色深,邊緣顏色淺的這個(gè)效果要說一下。點(diǎn)成dot = |A向量| * |B向量| * COS& ,當(dāng)兩個(gè)向量的模都為1時(shí),正好點(diǎn)成dot = cos&了,所有我們就可以根據(jù)這個(gè)值,得到一個(gè)數(shù),這個(gè)數(shù)字再和顏色值相乘,就能得到不同的顏色值了。這樣就能達(dá)到我們想要的效果。好了,本次的分享就到這里了。不喜勿噴哦!
?
unity--Shader實(shí)現(xiàn)LOL幽靈船長(zhǎng)皮膚效果的評(píng)論 (共 條)
