五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

還在魔改UE4?快來康康如何利用GPU在UE4中生成光線追蹤焦散效果

2021-02-01 10:05 作者:麗臺(tái)科技  | 我要投稿

焦散是現(xiàn)實(shí)世界中常見的光學(xué)現(xiàn)象,從水面閃爍的浪花到透明玻璃背光的弧形高光,無處不在。


但是,在3D圖形中精確模擬焦散并非易事。那些參與創(chuàng)建光線追蹤渲染器的人,可能會(huì)知道要模擬焦散的話,困難重重:要追蹤從高度拋光的表面反射回來或多次穿過透明物體的光線,計(jì)算會(huì)變得很耗時(shí),并且調(diào)整這種非直觀的設(shè)置需要藝術(shù)家要付出額外的努力。


如今的游戲引擎是基于光柵化管道的,開發(fā)人員通常會(huì)選擇忽略焦散線,或者是用其他“作弊”的方式來進(jìn)行焦散造假,讓渲染圖看起來逼真。


近年來,GPU光線追蹤的出現(xiàn),為加速“光子映射(photon mapping)”(或“光子貼圖”)的實(shí)時(shí)渲染來了可能性。(光子映射是用于渲染精確焦散的流行技術(shù)。)


從那時(shí)起,英偉達(dá)就開發(fā)了一些使用快速GPU光子映射生成焦散的新方法。這些開發(fā)工作是在虛幻引擎4上實(shí)現(xiàn)的,終端用戶使用虛幻引擎產(chǎn)品就可以得到焦散的效果,同時(shí),還可以享受一些開源的資源庫。


焦散效果集中在兩個(gè)方面:


1、金屬和透明網(wǎng)格周圍的精細(xì)焦散,稱為網(wǎng)格焦散(mesh caustics)(如圖1)

2、水面上方和下方的焦散,強(qiáng)調(diào)流體運(yùn)動(dòng)并能夠覆蓋大面積,稱為水體焦散(water caustics)(如圖2)


兩種方法對于高幀率使用都是低成本的,與動(dòng)態(tài)環(huán)境完全交互,并且無需數(shù)據(jù)預(yù)處理即可使用。


圖1-1. UE4編輯器中的網(wǎng)格焦散截圖。此圖為Gilles Tran提供的經(jīng)典“ POV-Ray玻璃”中的玻璃焦散線,其中焦散線和玻璃網(wǎng)格是通過12次的折射和反射來追蹤的光線。


圖1-2. UE4編輯器中的網(wǎng)格焦散截圖。此圖為一個(gè)簡單的測試場景,顯示了通過多個(gè)棱鏡的色散效果。


圖2. 水體焦散截圖。上面是游泳池的UE4測試場景,下面是海邊城鎮(zhèn)場景,被海面覆蓋。在兩個(gè)場景中,都可以在水面(反射)和水下(折射)看到焦散。

今天,我們就先來看看網(wǎng)格焦散如何實(shí)現(xiàn)?


一、網(wǎng)格焦散

英偉達(dá)從一種稱為光子濺射(photon splatting)的光傳播方法的類別開始,通過重構(gòu)技術(shù)來模擬網(wǎng)格焦散,這是經(jīng)典光子映射的一種變體。


光子映射使用的方法有兩個(gè)階段:

跟蹤階段(Tracing】從光源到場景的光粒子(即光子)的正向跟蹤。

密度估計(jì)階段(Density estimation)】在表面上的指定點(diǎn)周圍計(jì)算光子的密度,以進(jìn)行照明信息重建。


在英偉達(dá)的解決方案中,第二階段被替換為了光子濺射。它沒有找出局部光子密度,而是在光子撞擊不透明表面后使用加色混合的方法直接繪制顏色。


與傳統(tǒng)方法相比,噴濺具有多個(gè)優(yōu)點(diǎn)。它使用GPU光柵化來加快速度,只需要簡單的數(shù)據(jù)結(jié)構(gòu)就可以來存儲(chǔ)光子了,重要的是,它允許與光子微分耦合,這是一種以較低的計(jì)算成本提高圖像質(zhì)量的重要技術(shù)。


| 在UE4中使用網(wǎng)格焦散 |


Beta版發(fā)布通知:本文中討論的參數(shù),編輯UI和命令行在發(fā)布版本中可能會(huì)更改。在使用焦散功能之前,請確保已正確配置UE4中的光線追蹤設(shè)置。


要在UE4編輯器中啟用網(wǎng)格焦散,請首先完成以下設(shè)置:


1、檢查當(dāng)前「post-process volume 后期盒子」中的「Ray Tracing Mesh Caustics 光線追蹤網(wǎng)格焦散」是否勾選,選擇「啟用」打開網(wǎng)格焦散效果


2、勾選光源屬性表中的「Cast Mesh Caustics 投射網(wǎng)格焦散」,選擇用于投射焦散的光源。


3、選擇網(wǎng)格并導(dǎo)航至材質(zhì)來選擇要產(chǎn)生焦散的對象。如果材質(zhì)是透明的,則將材質(zhì)編輯器打開到「Details 詳細(xì)信息」選項(xiàng)卡,并勾選「Cast Ray Traced Reflection Caustics 投射光線追蹤反射焦散」和「Cast Ray Traced Refraction Caustics 投射光線追蹤折射焦散」。


配置完這些設(shè)置后,下圖顯示可以在玻璃和金屬物體周圍看到默認(rèn)的焦散效果。大多數(shù)光屬性(包括強(qiáng)度,顏色,紋理蒙版和衰減)都會(huì)對焦散的外觀產(chǎn)生直接影響。到目前為止,支持四種類型的光源:平行光、點(diǎn)光源、聚光燈、區(qū)域光。在同一視圖中,至多可以有八個(gè)燈光投射焦散。


來看看啟用焦散效果的步驟:


開始是一個(gè)簡單的組合:一個(gè)平行光、一個(gè)不透明盒子、一個(gè)玻璃球和一個(gè)金屬球。
然后,后期盒子、光源和材料都配置了焦散特征,可以在玻璃和金屬球體周圍分別看到折射和反射的焦散。
最后,添加了一個(gè)點(diǎn)光源以創(chuàng)建一組附加的焦散光線。

除了光源,焦散線的形狀、強(qiáng)度和顏色也受到網(wǎng)格材質(zhì)的基色、不透明度、法線貼圖、折射率、粗糙度和金屬值的影響。具有較高粗糙度或較低金屬值的不透明物體會(huì)產(chǎn)生較弱的焦散。透明物體可以投射反射和折射焦散,實(shí)現(xiàn)方式:在材質(zhì)編輯器的「Details 詳細(xì)信息」選項(xiàng)卡中勾選「Cast Ray Traced Reflection Caustics 投射光線追蹤反射焦散」和「Cast Ray Traced Refraction Caustics 投射光線追蹤折射焦散」。


在「post-process volume 后期盒子」中,還添加了可以調(diào)整網(wǎng)格焦散的一組參數(shù):


Intensity 強(qiáng)度】可縮放焦散圖案的強(qiáng)度。

Max Trace Depth 最大跟蹤深度】限制每條射線的最大反彈次數(shù),這可能會(huì)影響光線追蹤的性能。

Enable Temporal Filtering 啟用時(shí)間過濾】可切換時(shí)間過濾,從而減少閃爍效果并提高性能。


| 光子調(diào)試 |


另外,如要要檢查實(shí)際的光子密度,在「viewport」菜單中,選擇「View」,?「Ray Tracing Debug」,?「Mesh Caustics Debug Data」,然后在「post-process volume」中設(shè)置調(diào)試屏幕數(shù)據(jù)類型為「photon」(見下圖)。

自適應(yīng)光子大小設(shè)置為20(左上)和80(右上) 的對比。第二行顯示了光子密度的調(diào)試視圖。


光線追蹤調(diào)試菜單也提供了一個(gè)嵌入的實(shí)時(shí)圖表來顯示前面的幀的總光子數(shù)(如下圖)。它可以通過在「post-process volume后期盒子」中設(shè)置「Debug Light Data Type調(diào)試光數(shù)據(jù)類型」為「Photon Count」來打開光子計(jì)數(shù)。

總光子數(shù)實(shí)時(shí)圖表


| 色散 |


若要啟用色散,在材質(zhì)編輯器的細(xì)節(jié)選項(xiàng)卡中,在材質(zhì)編輯器的「Details詳細(xì)信息」選項(xiàng)卡中將「Ray Traced Caustics Dispersion Amount光線追蹤焦散量」設(shè)置為大于0的值即可。為了避免色帶分離,需要勾選「Ray Traced Caustics Jittered Dispersion射線追蹤焦散抖動(dòng)色散」(見下圖)。

模擬光色散。左:分散量設(shè)置為0。中間:分散量設(shè)置為0.5。右: 啟用「Ray Traced Caustics Jittered Dispersion射線追蹤焦散抖動(dòng)色散」后能實(shí)現(xiàn)連續(xù)頻譜。

到這里,你是不是已經(jīng)能初步做出焦散效果了呢?更多精彩內(nèi)容下期呈現(xiàn),敬請期待。

還在魔改UE4?快來康康如何利用GPU在UE4中生成光線追蹤焦散效果的評論 (共 條)

分享到微博請遵守國家法律
三亚市| 泰和县| 无锡市| 饶阳县| 隆子县| 旺苍县| 晴隆县| 丹巴县| 视频| 米脂县| 晴隆县| 凌海市| 开鲁县| 西和县| 南雄市| 阜宁县| 余江县| 铜鼓县| 清丰县| 墨江| 长葛市| 平南县| 当涂县| 涟水县| 广灵县| 泽州县| 洪江市| 三都| 沂水县| 延安市| 定襄县| 重庆市| 龙泉市| 农安县| 神农架林区| 嘉义市| 双鸭山市| 瑞安市| 宕昌县| 白玉县| 夏河县|