公雞會(huì)變成母雞嗎(公雞為什么會(huì)變成母雞)
2023-08-23
更新時(shí)間:2023-08-23 09:07:26作者:佚名
Unity邀請(qǐng)到了其社區(qū)內(nèi)的超級(jí)用戶分享他們對(duì)Unity使用的見(jiàn)解、技巧和訣竅。本期將由來(lái)自Jumpship工作室的哈利·阿利薩瓦基斯為大家?guī)?lái)他對(duì)于Unity使用一些技巧。
如果你還不了解哈利,那么你可以通過(guò)本篇文章中的案例來(lái)認(rèn)識(shí)他,無(wú)論何時(shí)何地,他周邊的一切都是關(guān)于著色器來(lái)展開的。
在即將發(fā)布的游戲《Somerville》中擔(dān)任技術(shù)指導(dǎo)的哈利把他的“業(yè)余”時(shí)間都用再學(xué)習(xí)VFX和著色器上。他通過(guò)每周發(fā)布圍繞游戲開發(fā)的推文“技術(shù)上的藝術(shù)”來(lái)激勵(lì)創(chuàng)作者進(jìn)一步學(xué)習(xí)于開發(fā)著色器的應(yīng)用。
以下只是哈利最新作品的一些劇照。你可以在他的portfolio里找到更多作品。
以下是一些,由哈利·阿利薩瓦基斯總結(jié)的Unity VFX以及著色器的使用技巧:
粒子系統(tǒng)時(shí)間線
讓我們從VFX小技巧開始進(jìn)行介紹。雖然粒子系統(tǒng)效果之間的計(jì)時(shí)可能有點(diǎn)復(fù)雜,但實(shí)際上有一種簡(jiǎn)單的方法來(lái)使用時(shí)間線來(lái)迭代視覺(jué)效果。
在Unity中,時(shí)間軸內(nèi)置了對(duì)粒子系統(tǒng)的支持,因此不需要任何自定義腳本。只需把粒子系統(tǒng)拖放到時(shí)間軸中,就可以實(shí)現(xiàn)平移。
將這些時(shí)間軸與動(dòng)畫或任何其他時(shí)間線相結(jié)合,可以讓你更好地同步所有獨(dú)立的動(dòng)畫元素,以創(chuàng)建一些真正有趣的VFX。
自定義頂點(diǎn)流
當(dāng)我們使用粒子系統(tǒng)和自定義著色器時(shí),有一個(gè)非常有趣的方法可以讓你事半功倍——自定義頂點(diǎn)流。
我們可以使用自定義頂點(diǎn)流來(lái)獲得更高級(jí)的粒子效果。
如大家所知,Unity中的渲染模型由包含頂點(diǎn)的三角形組成。這些頂點(diǎn)保存了關(guān)于模型的所有基本信息,例如它們各自的位置、紫外線坐標(biāo)和頂點(diǎn)顏色。
我們可以向頂點(diǎn)添加任何種類的任意數(shù)據(jù),并在自定義著色器中使用它。這就是粒子系統(tǒng)中自定義頂點(diǎn)流的妙處:我們可以將與粒子相關(guān)的信息傳遞給頂點(diǎn),并且只在需要時(shí)使用它。
通過(guò)添加自定義頂點(diǎn)流我們可以在粒子系統(tǒng)下找到渲染器模塊。啟用該功能將顯示所有已經(jīng)使用的頂點(diǎn)流,如UV坐標(biāo)和頂點(diǎn)顏色等。
進(jìn)入著色器圖形
最后,讓我們使用著色器圖形為我們的粒子系統(tǒng)制作一個(gè)簡(jiǎn)單的融合著色器。這里我們提到的是一個(gè)經(jīng)過(guò)阿爾法剪輯的不發(fā)光的雙面通用渲染管道(URP)著色器。這里要注意的是驅(qū)動(dòng)溶解效果的因素,該因素是UVs的第三個(gè)組成部分。
你可能想知道這是為什么,特別是因?yàn)槲覀儍A向于使用UV坐標(biāo)通過(guò)x和y分量進(jìn)行紋理采樣的原因。
原因其實(shí)很簡(jiǎn)單,這樣做可以讓我們?cè)诿總€(gè)數(shù)據(jù)流的名稱旁看到數(shù)據(jù)存儲(chǔ)的位置。
就比如,一個(gè)新的流存儲(chǔ)在TEXCOORD0.z,其對(duì)應(yīng)于第一紋理坐標(biāo)通道的第三分量(也稱為UV0.z)。通過(guò)加入粒子的lifetime age百分比功能,該值將從零開始,并在粒子存在期間向一移動(dòng)。著色器能夠讓粒子隨著時(shí)間的推移而溶解。
但是如果我們想要對(duì)粒子的存在時(shí)間進(jìn)行更多的控制呢?lifetime age百分比就開始起作用了,但它是相當(dāng)線性的,對(duì)于創(chuàng)建更復(fù)雜的效果不是很有用。解決辦法就在于自定義數(shù)據(jù)模塊:
我們可以用Custom1.x代替lifetime age百分比,這反過(guò)來(lái)允許我們使用一條曲線來(lái)改變粒子存在時(shí)間的值。
現(xiàn)在我們可以更好地管理我們的粒子如何隨著時(shí)間的推移而溶解。
當(dāng)然,還有很多數(shù)據(jù)可以傳遞給自定義頂點(diǎn)流。這讓我們自定義著色器中使用此功能的可能性更大。