Hello,大家好,我是木偶心沒。接上次分享, Unreal超級水體係統介紹 ,了解了水體的基本創建以及簡單的wave介紹,接下來安排浮力和浪花材質基礎教學。
1、浮力效果
在加載水體的時候會自動加載水體的浮力插件Buoyancy Component,這個組件可以得到一個浮力的簡單近似值,然後模擬成球形去與水體進行交互,並且可以有多個物體參與浮力計算。具體模擬如下。
首先新建一個bp,並且把需要浮力的物件添加進去,並且勾選物件的simulate physics
繼續添加一個Buoyancy,並且在屬性裏麵添加一個Pontoons浮力值。設置浮力範圍radius為100,則如果relative location為(0,0,50),表示物體整個在受到浮力時幾乎浮出水麵;設置為(0,0,-50)的時候,表示物體在受到浮力會被水整個淹沒掉。下麵把做好的bp拉到場景中做一個效果對比。
同樣在藍圖裏麵也添加了一些函數節點可以獲取物體是否在水裏等信息,由此可以在物體離開水麵或者剛接觸水麵的時候生成一些泡沫等粒子效果。
2、Water Material
接著來解析一下插件默認的水體材質球
Water/Content/Materials/WaterSurface/Water_Material.uasset
首先是加載外部wave的部分,上一次分享有說到,水體可以單獨加載一個獨立的資產GerstnerWave,具體的添加步驟就在材質裏麵。
點開主要的加載函數ComputeGerstnerWaves,裏麵有一個custom節點Get Gerstner Waves,HLSL內容如下。
WaveOutput Waves;
Waves = GetAllGerstnerWavesNew(WaterBodyIndex, Time, WorldPosition);
return PackNormalAndWPONew(Waves);
可以看出在材質裏麵用WaterBodyIndex獲取了water data的信息然後返回添加了gerstner wave以後的normal和WPO(world position offset),然後替換掉原來沒有gerstner wave的water normal和WPO。另外在輸出的normal中對遠處的法線也進行了一些處理,降低了法線的強度,因為由於距離原因,並不需要看清楚那些很強的法線效果。
由於這個材質球可用於所有的water,所以,對於河流river,勾選了Enable river,就會對河流的flowmap進行處理。
剩下還有海水邊緣泡沫的處理Beach Foam。
如果勾選Ocean Foam看不到明顯的效果,可以將材質中的參數Height Bias調大一點。
流體模擬Fluid Simulation。
即水在與某些物體交互的時候生成的一些波紋漣漪等效果。原理就是在計算的時候會首先查詢water的一些信息,然後返回交互的位置,並獲取波紋漣漪的一些屬性,最後在藍圖裏麵把波紋漣漪等加在water上麵。具體請參考關卡:
Water/Content/FluidSimulation/WaterFluidSimtestShallow.umap
以上就水完了water水體係統基本的一些功能啦!
來源:Thepoly公眾號
上一篇 通過《古代山穀》初探UE5新特性
下一篇 UE4製作風格化場景圖文教程
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答本文詳細介紹了學習遊戲原畫的優秀選擇,火星時代教育,分享了遊戲原畫的學習方法,提供專業的遊戲原畫教育服務。
全麵分析各大UI設計培訓機構的特色和優勢,幫助你更好的選擇UI設計培訓班。
深入解析遊戲原畫製作的精細技藝與專業培訓的重要性。火星時代教育,讓你掌握遊戲原畫製作的核心技能,助你登上職業生涯的新高峰。
與火星時代教育一起了解遊戲原畫設計的專業技能和教學方法,快速掌握遊戲原畫設計,成為優秀的遊戲原畫設計師。
探索遊戲原畫美術精英班,了解火星時代教育如何培養你的藝術和技術才華,助你實現夢想。
探索遊戲美術班哪家好,為您介紹火星時代教育專注遊戲美術教育的優勢和特色。
1. 打開微信掃一掃,掃描左側二維碼
2. 添加老師微信,馬上領取免費課程資源
同學您好!