最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

UE4.25 volume texture插件包制作靜態(tài)云效果

2020-08-01 23:56 作者:哇哇哇哇哦  | 我要投稿

前言

????六月進(jìn)公司時,導(dǎo)師跟我提了后面的項目可能要用到云的效果,讓我去研究一下ue4.25的volumetrics插件帶的包里面的云效果,最好是能從理解原理開始一步步去搭建,給了我一篇文章:https://80.lv/articles/working-on-volumetric-clouds-in-ue4/

搭建

????我照著文章及文章里寫到的幾篇文章,嘗試把raymarch的機(jī)制搭建了起來

整個效果涉及到的內(nèi)容

????主要是通過兩個custom material expression里面的代碼和各種變量的配合來實現(xiàn)的

????按照文章提示寫的Ray March Cube Setup部分的代碼

Ray March Cube Setup部分的代碼

????要注意的是文章中的版本是UE4.23,里面獲取屬性的表達(dá)式在新版本里有了一點點的改變?nèi)鏟rimitive.WorldToLocal要換成GetPrimitiveData(Parameters.PrimitiveId).WorldToLocal,即Primitive.換成GetPrimitiveData(Parameters.PrimitiveId).

????UE4.25插件中帶的材質(zhì)中的Ray March Cube Setup部分的代碼,和文章涉及到的不同點主要是localscenedepth部分的處理不同

UE4.25插件中帶的材質(zhì)中的Ray March Cube Setup部分的代碼

????Density Raymarch的代碼:

Density Raymarch的代碼

????基本上到這里把上面的代碼無誤地寫好且創(chuàng)建好其中需要的各種節(jié)點之后,就能看到云的效果了

材質(zhì)節(jié)點圖

問題出現(xiàn)

????但是實際的情況是文章中提到的算法是不太完美的,在相當(dāng)多的情況下是不理想的,如下面的圖,體積云的位置實際上是凌空的(圖右下角示),但是卻能被其他mesh遮擋或隔斷

體積云顯示有誤

????經(jīng)過排查,得知這是maxstep數(shù)值導(dǎo)致的,而maxstep是前面的ray march cube setup代碼塊里計算return的,所以嘗試不經(jīng)過ray march cube setup的計算來獲得maxstep,替換成直接參數(shù)數(shù)值的輸入

????這樣修改之后,體積云不會再被遮擋了,因為它直接位于畫面的渲染最上層了

????所以無疑是需要通過ray march cube setup代碼塊的計算來輸出maxstep才是穩(wěn)妥的,可行的思路應(yīng)該是修改ray march cube setup代碼塊中的某個變量的值

????到了現(xiàn)在這里,需要解決的問題是,體積云的遮擋關(guān)系在一定情況下不正確、不存在遮擋的情況下離的距離遠(yuǎn)了,體積云會變得消失一部分不可見

解決方案

????在研究(禿頭)了兩天將ray march cube setup中的各種變量的值調(diào)整之后,最后找到了著力點,將localscenedepth這一個變量的數(shù)值調(diào)大,Ray March Cube Setup中的代碼是將localscenedepth除去兩倍的localobjectboundmax和物體的x軸大小的積,即需要將兩倍調(diào)成一倍,這樣就可以實現(xiàn)在更遠(yuǎn)的地方也能繼續(xù)看到體積

????而當(dāng)想直接(白嫖)官方已經(jīng)提供好的插件內(nèi)容包里面的材質(zhì),則需要將Ray March Cube Setup中的代碼depthpos /=256;改成depthpos/64;(經(jīng)不具普適性的調(diào)試得出改成64可以達(dá)到需要的效果)

????然而到了這里,體積云是多遠(yuǎn)都能夠看到而不會消失了,但也導(dǎo)致了另一個問題的產(chǎn)生,遮擋關(guān)系,由于ray march cube setup計算時是根據(jù)localscenedepth的,強(qiáng)行改變它的數(shù)值必然導(dǎo)致最后的maxstep無法處理好遮擋關(guān)系,所以最后只能借助ue材質(zhì)本身的一些機(jī)制來挽救,例如深度檢測(不知為什么文章上提到這個深度檢測要disable,跟著做時把它disable了)

默認(rèn)是沒有勾選的,要是是跟著文章做的,就需要取消勾選

????補(bǔ)充:插件內(nèi)容包里材質(zhì)燈光陰影計算的燈光方向是一個需要手動輸入向量的參數(shù),需要自己改成SkyAtmosphereLightDirection

????

效果

????直接替換貼圖就可使用

????至此,體積云的效果算是基本達(dá)到了想要的效果了


UE4.25 volume texture插件包制作靜態(tài)云效果的評論 (共 條)

分享到微博請遵守國家法律
年辖:市辖区| 集安市| 城口县| 忻州市| 库尔勒市| 达州市| 茶陵县| 宁海县| 朔州市| 永新县| 滨海县| 义乌市| 镇康县| 镇雄县| 凤翔县| 松桃| 固安县| 遂昌县| 琼中| 旅游| 乌鲁木齐市| 修水县| 东兰县| 临沂市| 台安县| 罗甸县| 准格尔旗| 盘山县| 永丰县| 龙川县| 衡东县| 绍兴市| 延津县| 义马市| 启东市| 建始县| 蚌埠市| 资源县| 天台县| 韶关市| 吉水县|