今天分享的是莫斯科自學成才的一個藝術家的動畫雨滴材質,虛幻引擎非常適合創建簡單且美觀的動畫著色器和效果,因為它不需要強大的編程技能,隻需要基本的數學知識。你需要兩個參數來調整動畫材質:根據時間來改變貼圖的UV坐標以及時間。

1、雨滴材質
動畫水滴的工作流程都差不多相同,我首先製作了一些包含材料所需信息的靜態紋理。
製作中需要用到的一些貼圖:
靜態水滴的法線貼圖以及打包的Masks。
R,時間變化的Mask,負責在正確的時間出現和消失的水滴。
G,用於將水滴與表麵混合的Mask。
B,一個噪點Mask,使水滴看起來更混亂。
動態水滴的法線貼圖和打包Masks。
R,水滴Mask。
G,一個用於水滴路徑的Mask,不允許其他靜態水滴出現在運動的水滴的途中。
還有一張Distortion的法線貼圖,它會影響液滴在表麵上流動的方式,使其更加不規則。

然後,我製作了兩個包含所有必要信息和邏輯的函數。它們分為兩組:隨時間出現/消失的靜態水滴和流過表麵的動態水滴。
2、工作流程
首先,需要獲取紋理的坐標並開始向必要的方向移動它們。稍後,將使用這些坐標對Distortion的法線貼圖進行采樣,並為水滴的紋理坐標添加輕微的扭曲。借助有關扭曲和紋理坐標位移的信息,可以對法線和Mask進行采樣。
然而,為了呈現不僅僅是簡單的水滴流動的效果,我使用了Mask的紅色通道,並使其強度隨時間變化。另外,我還通過添加一些簡單的數學函數使水滴隨時間出現和消失。

第二個函數也是如此。它包含置換紋理坐標和扭曲,但略有不同。當我製作流動水滴的紋理時,我隻為它製作了一滴水和一組Masks。為了填充水滴,我必須添加一個循環,在該循環中水滴被複製、移位、具有不同的速度(每個水滴都是唯一的),並最終相互混合。
為了使扭曲更有趣,我使用了兩次扭曲貼圖:用於比較大的扭曲和不太密集的扭曲。然後,它們沿軸以不同的強度混合在一起。假設,可以在一張地圖中使用多個水滴或一張地圖用於所有水滴,在這種情況下,所有水滴將以相同的速度相互平行移動,因為你無法影響單滴的速度和時間。

我還有一個自定義節點,其中包含有關最大滴數的信息,並使用當前位置和滴速設置了一個靜態數組。它可以手動完成,也可以在 Unreal 中完成,我這裏使用的是3D Max的腳本。

該腳本獲取有關編輯器中所選對象的位置和大小的信息,並將其返回到定義的數組中。在我的例子中,我隻使用了 XY 坐標和一個下降速度的指數。同樣,可以創建一個包含有關液滴大小信息的數組並將其添加到材質中。
過濾器準備好後,我調整了它們的輸出參數。我還創建了一些可以在材質中更改的輸入參數,例如動畫速度、平鋪、水滴失真強度、法線貼圖強度和使用過濾器的紋理。
之後,這些過濾器可以用於任何材料,無論其類型如何。材料的參數可以在其掩碼的幫助下進行調整。
作為示例,我製作的第一個基礎材料是啞光不透明表麵,這是混合必要蒙版和設置顏色、粗糙度和水滴法線等參數的起點。

如果將材質類型更改為透明並同樣添加透明度和扭曲,將得到一個簡單的玻璃材質。

為了使物體更加有趣和複雜,可以通過模糊玻璃後麵的背景來添加冷凝效果。此技巧僅適用於透明材料和後期處理。同時,必須降低透明度,仍然保持材質類型透明。之後,是時候為材質添加模糊效果了。


然後,可以添加Mask以避免在平行於地麵的表麵上移動水滴。

以同樣的方式,可以將其與現有紋理混合,例如水滴從屋頂掉落的紋理或任何其他材質。

這是在後處理中使用函數的示例:

3、最後
不幸的是,所有這些效果都非常苛刻,因為它們更適合在屏幕上不占用太多空間的小表麵,比如房間裏的窗戶。

使用的紋理、混合和複雜的數學越多,渲染材質的難度就越大。
為了優化,可以選擇簡化紋理,例如,如果不想要這樣或那樣的效果,可以減小它們的大小或去掉一些數學運算。在這個函數的情況下,我並沒有針對某些特定的結果,而是嚐試製作一些可以在必要時簡化的多用途的東西。
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答《黑神話:悟空》作為一款現象級中國遊戲,其成功離不開多種先進計算機技術的支持。本文將深入解析該遊戲背後的關鍵技術,包括虛幻引擎......
在遊戲開發領域,Unity和Unreal Engine(虛幻引擎)都是備受推崇的遊戲引擎,但它們各自擁有不同的特點和優勢。
春節之後大量搶人!這6個行業是轉行首選,進去1年頂3年!火星畢業就能進
春節後求職,哪些行業進去能立馬漲薪?打破信息差很關鍵!
還沒畢業,就去幫電視台拍活動,作品被主任說“非常好”!猜猜是哪個專業呀?
回想過去,電子遊戲裏的草其實並不是真正的草。開發者們隻是簡單地把草的紋理直接貼在遊戲關卡的地板上
在火星的就業指導老師那裏,經常收到同學們這樣、那樣的提問。其中有一些共性問題,就業老師會根據自己豐富的經驗,為同學們給出合適的回答。