我的訂單|我的收藏|我的商城|幫助中心|返回首頁
搜維爾[www.gentlemenlisten.com]>服務>案例分享 應用研究>案例分享>游戲動畫

Unity VFX和著色器應用范例及技巧

文章來源: 作者:frank 發布時間:2021年11月09日 點擊數: 字號:

Unity邀請到了其社區內的超級用戶分享他們對Unity使用的見解、技巧和訣竅。本期將由來自Jumpship工作室的哈利·阿利薩瓦基斯為大家帶來他對于Unity使用一些技巧。

如果你還不了解哈利,那么你可以通過本篇文章中的案例來認識他,無論何時何地,他周邊的一切都是關于著色器來展開的。

在即將發布的游戲《Somerville》中擔任技術指導的哈利把他的“業余”時間都用再學習VFX和著色器上。他通過每周發布圍繞游戲開發的推文“技術上的藝術”來激勵創作者進一步學習于開發著色器的應用。

以下只是哈利全新作品的一些劇照。你可以在他的portfolio里找到更多作品。

以下是一些,由哈利·阿利薩瓦基斯總結的Unity VFX以及著色器的使用技巧:

粒子系統時間線

讓我們從VFX小技巧開始進行介紹。雖然粒子系統效果之間的計時可能有點復雜,但實際上有一種簡單的方法來使用時間線來迭代視覺效果。

Unity中,時間軸內置了對粒子系統的支持,因此不需要任何自定義腳本。只需把粒子系統拖放到時間軸中,就可以實現平移。

將這些時間軸與動畫或任何其他時間線相結合,可以讓你更好地同步所有獨立的動畫元素,以創建一些真正有趣的VFX。

自定義頂點流

當我們使用粒子系統和自定義著色器時,有一個非常有趣的方法可以讓你事半功倍——自定義頂點流。

我們可以使用自定義頂點流來獲得更高級的粒子效果。

如大家所知,Unity中的渲染模型由包含頂點的三角形組成。這些頂點保存了關于模型的所有基本信息,例如它們各自的位置、紫外線坐標和頂點顏色。

我們可以向頂點添加任何種類的任意數據,并在自定義著色器中使用它。這就是粒子系統中自定義頂點流的妙處:我們可以將與粒子相關的信息傳遞給頂點,并且只在需要時使用它。

通過添加自定義頂點流我們可以在粒子系統下找到渲染器模塊。啟用該功能將顯示所有已經使用的頂點流,如UV坐標和頂點顏色等。

進入著色器圖形

最后,讓我們使用著色器圖形為我們的粒子系統制作一個簡單的融合著色器。這里我們提到的是一個經過阿爾法剪輯的不發光的雙面通用渲染管道(URP)著色器。這里要注意的是驅動溶解效果的因素,該因素是UVs的第三個組成部分。

你可能想知道這是為什么,特別是因為我們傾向于使用UV坐標通過x和y分量進行紋理采樣的原因。

原因其實很簡單,這樣做可以讓我們在每個數據流的名稱旁看到數據存儲的位置。

就比如,一個新的流存儲在TEXCOORD0.z,其對應于第一紋理坐標通道的第三分量(也稱為UV0.z)。通過加入粒子的lifetime age百分比功能,該值將從零開始,并在粒子存在期間向一移動。著色器能夠讓粒子隨著時間的推移而溶解。

但是如果我們想要對粒子的存在時間進行更多的控制呢?lifetime age百分比就開始起作用了,但它是相當線性的,對于創建更復雜的效果不是很有用。解決辦法就在于自定義數據模塊:

我們可以用Custom1.x代替lifetime age百分比,這反過來允許我們使用一條曲線來改變粒子存在時間的值。

現在我們可以更好地管理我們的粒子如何隨著時間的推移而溶解。

當然,還有很多數據可以傳遞給自定義頂點流。這讓我們自定義著色器中使用此功能的可能性更大。

電話:010-50951355 傳真:010-50951352  郵箱:sales@www.gentlemenlisten.com ;點擊查看區域負責人電話
手機:13811546370 / 13720091697 / 13720096040 / 13811548270 / 13811981522 / 18600440988 /13810279720 /13581546145

  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
www.av精品