UnrealEngine4禪意花園項目中的水池
來源:
52vr |
責(zé)任編輯:傳說的落葉 |
發(fā)布時間: 2019-06-13 08:22 | 瀏覽量:
這篇文章介紹了禪意花園項目中的水的效果實現(xiàn)方法。
禪意花園
禪意花園是Epic Games的官方項目,現(xiàn)在已經(jīng)開放在Market Place中自由下載。這個項目中使用了特別的方法來實現(xiàn)水池,效果如下:
水面表現(xiàn)
整體的水池效果分成水面與池底兩塊,針對于水面來說使用了Cubemap + noise,原本不是十分特別的地方,但是針對于Cubemap反射這一塊有個黑魔法,值得一看:
這個函數(shù)寫的很復(fù)雜而且不好閱讀,應(yīng)該是美術(shù)寫的。但是如果把它翻譯成代碼其實不難理解——它處理的是以場景設(shè)計師在關(guān)卡中放置的一個點為反射點,通過這個反射點、水面像素和相機位置的計算來獲得一個反射向量。這個反射向量在對應(yīng)的CubeMap中采樣,從而獲得水面的反射效果,效果如下:
目前這個材質(zhì)的實現(xiàn)似乎還有點小問題,可以進行修復(fù)。這里不方便將修復(fù)后的材質(zhì)放出,讀者可以自己進行實現(xiàn)。
總體來講這個想法很新穎,可以在僅僅使用Emissive Color與Opacity通道的情況下來實現(xiàn)很好的水面的效果,尤其在反射效果上的效果很不錯。
因此,這個水面效果可以在移動平臺上兼顧性能和效果。
水底
禪意花園中水池的水底效果的腦洞也開的很大。在正常情況下想要表現(xiàn)水底的效果通常是使用Refraction通道。但是Refraction通道在某些設(shè)備上表現(xiàn)的不太正常,性能也是一個必須考慮的問題。
因此水底的模型是讓水底本身使用World Position Offset通道來對頂點進行位移操作,這種操作主動讓池底的網(wǎng)格模型進行浮動,這樣一來也就會比較好適配大部分的設(shè)備。
這種做法是很新穎的,另一方面效果也很不錯。
后記
看到了Epic Games提出的一些解決問題的方法,感覺到提出這些方法的人似乎已經(jīng)到了另一種境界?!秾O子兵法》說“以正合,以奇勝。”大部分人似乎花了太多的功夫在“正”上,例如不停地去鉆底層,硬碰硬的提高效率和表現(xiàn)。但是是否能夠在“奇”這一塊來解決實際的問題,這種“奇”的能力又該怎么去培養(yǎng)?
-
分享到:
相關(guān)文章
網(wǎng)友評論
全部評論:0條
推薦
熱門