久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

好好學習,天天向上,物理好資源網(原物理ok網)歡迎您!
當前位置:首頁 > > 初中物理 > > 綜合其它 > 內容頁

騰訊NExT謝淵:光線追蹤技術探索與運用上的方法與技巧

2023-05-13 15:18:34綜合其它123

為期四天的騰訊游戲開發者大會(Game,簡稱TGDC)將于12月7日在線上舉行。r2d物理好資源網(原物理ok網)

在今天的主題演講中,來自騰訊NExT 的中級技術美術師謝園以“向陽而生——光線追蹤項目應用”為主題,分享了NExT 探索和使用光線追蹤技術的方式與方法。r2d物理好資源網(原物理ok網)

不斷探索和創新玩法的NExT工作室,可以說是騰訊旗下相當的存在。 就在去年,他們發布了一款獨特的人機合作戰術射箭游戲《重生之刃》。 在此前發布的預告片中,他們展示了使用虛幻4引擎和RTX光線追蹤技術所實現的驚人畫面效果。 就整體視覺效果而言,本作的表現絲毫不遜色于當今的主流大作。r2d物理好資源網(原物理ok網)

以下是手游整理的部分講課記錄。 為了提高閱讀體驗,對內容進行了刪減和調整:r2d物理好資源網(原物理ok網)

大家好,我是NExT 的謝園,明天有機會跟大家聊聊光線追蹤。r2d物理好資源網(原物理ok網)

真實世界成像r2d物理好資源網(原物理ok網)

首先,在我們了解光線追蹤之前,我們想看看它的光照在現實世界中是如何工作的。r2d物理好資源網(原物理ok網)

我們現在聽到的畫面,一般我認為人眼應該不會直接看太陽吧? 或者看看一些光源。 大多數情況下,光線是直接從陽臺或門口射進來,射進來后會穿過墻壁或物體,經過一些二次銳降和三次銳降,這樣隨著光的能量逐漸衰減,大部分那個時候我們今天聽到的就是這樣一個畫面。r2d物理好資源網(原物理ok網)

那么我們從微觀的角度來看一下這個燈是如何工作的。 假設一束光打在一個平面上,那么此時的平面,從自然界的角度來看,當我們將它無限放大時,會發現它的表面并不是那么完美和平坦,所以它的表面會有很多小的起伏在表面上,我們稱之為微表面。r2d物理好資源網(原物理ok網)

光線射到微表面后,會隨著凹凸不平向不同方向反射。 在用筆記本模擬自然界中的一種光時,比如我們今天看到的右圖。r2d物理好資源網(原物理ok網)

這是一個非常簡單的場景,一個小房間,里面有一盞燈。 這樣一來,這盞燈的光源就向四面八方發散了。 我們可以想象,每一束光射到周圍的墻壁后,由于墻壁的表面不平整,它會發散更多的二次回退。 第二次墜落后,它撞到了一些椅子、地面和屋頂。 每次它接觸到一個平面,它都會進行更多的回調。r2d物理好資源網(原物理ok網)

這樣一來,我們可以想象,這樣的計算量,雖然是非常龐大的。 所以一般我們在模擬這樣的光照情況的時候,我們之前都是以離線渲染的形式呈現出來的。r2d物理好資源網(原物理ok網)

柵格化渲染r2d物理好資源網(原物理ok網)

現在我們再想一想,如果我們實時渲染場,怎么呈現這樣自然的情況呢? 這時候我們就不得不引入一個概念——光柵化。r2d物理好資源網(原物理ok網)

那么哪些是光柵化的? 雖然我們可以想象,當我們用嘴巴看到一個屏幕時,我們關注的所有內容都是屏幕中的物體,所以這個時候,我們會對屏幕空間進行裁剪。r2d物理好資源網(原物理ok網)

也就是屏幕外的東西,我們暫時先不去考慮它的一些預估,然后我們把屏幕上這個三維物體的信息投射到屏幕的每一個像素上。 同時,在整個三維場景上,將轉化為畫面的信息進行分類。 比如有一些法線信息,有一些深度信息,有一些ID信息等等。r2d物理好資源網(原物理ok網)

后面我們渲染的時候,會調用內存中保存的不同信息進行合成操作,這樣最后就是我們看到的,最終的畫面效果。r2d物理好資源網(原物理ok網)

通過剛才的簡單描述,我想大家應該能明白,這些方法最大的優點就是速度快,特別快。 因為它會去掉很多不可見的信息,比如屏幕外的信息不算在內; 其次,它會將大量的三維信息轉化為屏幕像素作為估計值,這將大大節省大量的計算量。r2d物理好資源網(原物理ok網)

但從另一個角度來看,這種方式已經大大削弱了一些信息,以還原一些本應在真實場景中呈現的療效。 所以很多基于化學的渲染,或者一些好的效果,比如屏幕外的一些反射等等,在光柵化渲染下是無法很好渲染的。r2d物理好資源網(原物理ok網)

光線追蹤細節的表現r2d物理好資源網(原物理ok網)

下面我們來看一段“重生邊緣”項目的演示視頻。 在此視頻中,我們可以看到光線追蹤開啟和關閉之間的區別。 所以你看到右上角這個紅色的LOGO,當RTXON代表此時光線追蹤已經開啟,代表此時光線追蹤已經關閉。r2d物理好資源網(原物理ok網)

目前我們可以看到此時RTX,也就是光線追蹤已經關閉了。 所以當RT關閉時,你可以在地面上看到水池中的反射信息。 由于屏幕空間的限制,反射的信息量很小,很多屏幕外的信息無法正確反映。 .r2d物理好資源網(原物理ok網)

我們在RTXON的時候反映了很多屏外信息。 你在這里看到的是帶刺鐵絲網的投影。 光線追蹤下投影的療效來自于我們的鐵絲網是用 紋理制成的。 因此,光線在追逐時,跟隨光源與被投射物體的距離有近有遠,具有半影效果。r2d物理好資源網(原物理ok網)

當我們關閉光追時,我們會發現此時的投影是清晰的,而這對于我們在自然界中觀察到的物體來說可能不是很正確。 隨著物體投射距離的變長或變短,它的影子會產生逐漸擴散的半影效果,這是在非RT條件下看起來不真實的一種表現。r2d物理好資源網(原物理ok網)

這里還有一個池塘,也在陰影之下。 通過池塘的倒影光的反射和光的折射的例子,我們也可以看到天空中的一些信息,即使我們的屏幕上沒有顯示天空。r2d物理好資源網(原物理ok網)

反之,關閉后是黑亮的,所以這是光線追蹤帶來的比較大的視覺差異。r2d物理好資源網(原物理ok網)

一般我們在設計一些光線追蹤場景的時候,也會考慮到一些情況,比如夜間,或者一些反光的金屬物體,因為這樣也更容易理解光線追蹤。r2d物理好資源網(原物理ok網)

這是人物在動態光投射下的陰影效果。 這時候RT是關閉的,所以你會發現它的影子從近到遠總是比較立體銳利。r2d物理好資源網(原物理ok網)

相反,RT打開后,有半影效果,動態物體的半影效果尤為顯著。 大家可以看看平時走在路燈下發現自己的影子有什么治療作用。r2d物理好資源網(原物理ok網)

所以在整個場景中,我們盡可能的使用了一些動態光,然后是動態物體,然后是反射,更多的來創建光線追蹤,呈現出一些獨特的效果。r2d物理好資源網(原物理ok網)

光線追蹤渲染r2d物理好資源網(原物理ok網)

通過剛才的視頻,我們聽到了RT在實際游戲項目中的一些介紹。 這時候,我們將回到我們最初的話題,即光線追蹤是如何渲染的。r2d物理好資源網(原物理ok網)

文章開頭我提到了我們自然界的光是從光源開始的,對遇到的物體做了一次兩次這樣的回調。 這種光線追蹤正好相反。 它從我們的相機投射為射線。 當相機在我們的 3D 場景中與某個物體的表面相交時,它也會相應地進行一些回調。 .r2d物理好資源網(原物理ok網)

經過多次回調,可以溯源到物體甚至光源,然后這些信息依次落到我們的耳朵里,就是整個光線追蹤路徑的一個循環。 可以知道光線追蹤有個的概念,看左圖。r2d物理好資源網(原物理ok網)

當我們逐漸增加回調的次數時,我們會發現,每減少一次,回調的次數和次數都有很大的提升和變化。 所以在實時渲染領域,雖然我們已經做了從屏幕開始的光線追蹤渲染方式,但它的預估量還是比較大的。r2d物理好資源網(原物理ok網)

鏡子是折射還是反射_反射望遠鏡和折射_光的反射和光的折射的例子r2d物理好資源網(原物理ok網)

這也是為什么光線追蹤一直無法在實時渲染領域落地,一直是促使其在實際項目中大量推廣的誘因。r2d物理好資源網(原物理ok網)

GPU改進帶來技術革新r2d物理好資源網(原物理ok網)

現在我們可以看這張圖,這是過去30年CPU和GPU的整個發展歷程。 下面白線是CPU性能的提升,上面紅線是主板GPU的提升。 從這張圖我們可以很明顯的看出我們GPU的發展速度遠遠超過了CPU的提升。r2d物理好資源網(原物理ok網)

特別是在2018年,谷歌發布了DXR,一種基于RT的API結構。 同年,還推出了RTX主板。 我們之前的主板還是GTX。 2018年,RTX主板終于出現了。r2d物理好資源網(原物理ok網)

那么這款主板和以往的主板有什么區別呢? 它采用了基于光線追蹤硬件加速的內核,所以從RTX主板開始,我們可以真正將光線追蹤應用到實時渲染領域。r2d物理好資源網(原物理ok網)

由于光線追蹤應用于實時渲染領域,我們可以在它前面應用一些原本基于離線渲染和化學的折射、反射和焦散等效果。r2d物理好資源網(原物理ok網)

在我們的實際項目中,光線追蹤一般有四種方式呈現,一種是光線追蹤AO,包括它的陰影,包括它的反射,還有它的GI。r2d物理好資源網(原物理ok網)

光線追蹤的優勢r2d物理好資源網(原物理ok網)

下面我們就來一探究竟,在游戲中光追到底能給我們帶來什么。r2d物理好資源網(原物理ok網)

這是從游戲屏幕截取的屏幕截圖。 我們可以注意紅色箭頭所指的方向。 這是一個池塘和一面全身鏡。 我們想看看我們把它趕走后的變化。r2d物理好資源網(原物理ok網)

(光追關閉前)r2d物理好資源網(原物理ok網)

(光線散去后)r2d物理好資源網(原物理ok網)

所以通過對比這張圖,你很容易發現,當它左邊的藍色圍欄在非RT條件下渲染得不夠準確和完整時,包括下面的池塘,雖然它上面有一個紅色的廣告牌,而當它倒映在屏幕空間中,由于看不到廣告牌,因此無法正確反映其在海面上的倒影。r2d物理好資源網(原物理ok網)

與RT相比,它可以顯示很多細節,包括一些精確的位置。r2d物理好資源網(原物理ok網)

這也是我們在游戲開發中經常會遇到的一種情況,就是我們會在屏幕空間之外進行反射,有時候我們會加一個反射球,那么這個東西,中間的紅球,它的主要作用就是捕捉將當前3D場景根據其位置中心在其直徑范圍內的一些信息,烘焙成圖形。r2d物理好資源網(原物理ok網)

這些方式填補了一些屏幕空間反射無法呈現的信息,其弊端也很明顯。r2d物理好資源網(原物理ok網)

第一個,因為自身估計的準確性,不能很準確的顯示反射位置; 二是這張圖本身的規格也是有限的,為了盡可能降低內存開銷,所以它反映的內容也比較模糊。r2d物理好資源網(原物理ok網)

同時,當我們在游戲場景中大量采用這種技術時,主板上的內存性能開銷也是比較大的。 而如果我們在這么大的場景下使用RT反射,在這種情況下,我們看到的內容的準確性和清晰度會有很大的改變,但也會降低一些內存開銷。r2d物理好資源網(原物理ok網)

下圖是一個動態物體的反射顯示。r2d物理好資源網(原物理ok網)

我們知道游戲中動態人物的一些反射,前面說了,沒辦法,因為它只能抓取一些靜態的物體,所以動態物體的時候,只能靠一些屏幕空間反射來支持一些,比如正如今天對大海的一些療效。r2d物理好資源網(原物理ok網)

那么我們看RT開啟后,連接動態物體時,它的投影反射還是比較清晰可見的。r2d物理好資源網(原物理ok網)

在下圖中,我們可以看一下。 當整個海量AI的一個場景呈現在我們的視野中時,角色頭上的材質是一樣的。 在這種情況下,我們可以進行批量渲染,RT 反射渲染了這么多字符,我們仍然可以達到 50 fps。r2d物理好資源網(原物理ok網)

所以對優化這塊的性能也是很有幫助的,我們有一些整個大場景的效果圖。r2d物理好資源網(原物理ok網)

不知道大家有沒有注意到下圖中的問題。 這是屏幕空間AO的一個療效。 當我們的視角從俯視變為平視時,木柱的AO會產生一種很奇特的效果。 現象。r2d物理好資源網(原物理ok網)

那么為什么會形成這樣的療效,我們來分析一下。r2d物理好資源網(原物理ok網)

我們往下看會發現木柱這邊的AO是基于屏幕深度圖的緩存估計的,也就是說它會比較當前物體前后的像素。 誰的深度更深,如果兩者的深度差大于AO的采樣直徑,則認為前方物體對后方物體形成環境遮擋,導致AO。r2d物理好資源網(原物理ok網)

所以正因為我們是俯視的角度,所以它的深淺差對比比較小,所以筆記本會誤以為瓶子離地面比較近,從而形成這樣一個錯誤的治療效果。r2d物理好資源網(原物理ok網)

如果我們稍微一個層次的去看,那么你會發現它的報錯現象會稍微好一些。 這顯然也是因為從這個角度來看,它的深度差異會比較大。 當超過我們的采樣直徑時,誤認為被遮擋的AO關系會急劇下降。r2d物理好資源網(原物理ok網)

這一點一目了然。 這是光線追蹤的 AO。 它基于化學計算。 你會發現它呈現的AO的療效是很正常的。r2d物理好資源網(原物理ok網)

接下來我們來談談光線追蹤陰影。r2d物理好資源網(原物理ok網)

現在當光線追蹤關閉時,角色的投影來自一束光。 我們為此光使用 CSM 投影。 雖然我們已經打開了,但是我們會發現他的袖口上,包括他的鞋子里面,還是不會有密度關系的,以至于校服飄在人身上,包括墨鏡周圍,也沒有三-維度的感覺。r2d物理好資源網(原物理ok網)

這就是光追的效果。 首先,他的衣服和頭上的文胸之間的半影效果非常真實,包括頭上的校服。 雖然它的長度很細,但是我們還是可以清楚的看到它。 你會在脊柱內側看到它的一些投影,包括整個墨鏡,變得非常自然,接近于我們真正的治療效果。r2d物理好資源網(原物理ok網)

這是基于光線追蹤的陰影呈現的投影與傳統投影的區別。r2d物理好資源網(原物理ok網)

本篇介紹一款光追GI。r2d物理好資源網(原物理ok網)

反射望遠鏡和折射_鏡子是折射還是反射_光的反射和光的折射的例子r2d物理好資源網(原物理ok網)

目前是一座簡陋的小房子,上面掛著一個紅球。 療效是我們沒有開啟RT,所以整個場景只有兩盞燈,一個是天光,一個是直射光。r2d物理好資源網(原物理ok網)

從這張圖我們可以看到,整個室外的效果是非常平坦的,因為它的漫反射不能很好的遮蓋住,所以場景看起來沒有體積感,比較平坦。r2d物理好資源網(原物理ok網)

這是激活了RTGI的療效。 你可以看看剛才的圖片。 我認為這是非常不同的。 所以有GI和沒有GI真的有很大的區別,所以我們可以切換到燈光模式來看看有GI的畫面。r2d物理好資源網(原物理ok網)

首先會在室外形成漫射護盾,提感立馬降下來。 與此同時,我們中間的球之前是紅色的。 光線追蹤在經歷了第一次下落和第二次下落后,就會給周圍的一些墻壁或地面,甚至天花板帶來一些球中的顏色。r2d物理好資源網(原物理ok網)

大家可以看看右下角的參數。 我們現在使用的是它的回調。 雖然做了兩次,但已經可以達到這樣的療效了。r2d物理好資源網(原物理ok網)

這么說吧,我們在實際項目中并沒有使用RTGI。r2d物理好資源網(原物理ok網)

第一個原因是我們整個開發團隊本身就有一個動態的GI系統; 二是開啟動態GI后,我們需要面對的最大問題仍然是性能問題。 如果我們的性能不理想,那么我們可能會提高它的質量,但是提高質量之后,它的RT GI會有一些噪音,這也是我們暫時沒有在項目中直接使用RTGI作為激勵的原因。r2d物理好資源網(原物理ok網)

光線追蹤優化r2d物理好資源網(原物理ok網)

雖然個人認為也是一個重點,就是光線追蹤的優化。 因為光線追蹤再好,也無法優化到我們需要的性能標準,雖然沒有辦法在真實的游戲項目中推廣。r2d物理好資源網(原物理ok網)

在這個場景中,我們可以看到它的兩邊各有一個全身鏡,在它的一側有一個純銀的管子。 現在讓我們在這個場景中切換它的視角。 這里可以看到我們通過全身鏡看旁邊的純銀管。r2d物理好資源網(原物理ok網)

這時我們發現了一個很奇怪的現象,就是燈管變黑了。 為什么? 因為,你可以想象,我們通過全身鏡看到這個管子,我們是可以看到管子的。 首先,這已經是光的回調了,所以這就是我們下面聽到的,當前的幀率也接近于我們輸入的回調次數。 處于60幀的狀態。r2d物理好資源網(原物理ok網)

但是,如果我們想讓全身鏡上方的金屬機身仍然有反光效果,這就得做兩次,這就是為什么現在大家聽到的是黑管,現在又提了兩次。r2d物理好資源網(原物理ok網)

現在金屬管內的一些細節和周圍的一些物體也能準確呈現出來,不幸的是,我們會發現它的幀率下降到了19幀左右。 好吧,我們繼續把它的回調數減少到三個。r2d物理好資源網(原物理ok網)

這時候畫面雖然和之前沒有太大的變化,幀率還是下降了不少,不過現在已經不到8幀了。r2d物理好資源網(原物理ok網)

那么通過這么一個簡單的演示,我們可以得出,當我們使用光線追蹤反射的時候,隨著它的減少,它的性能下降的非常厲害。r2d物理好資源網(原物理ok網)

那么這就帶來了一個問題,就是我們如何平衡這一點呢? 這時候我們可以在管道附近加一個反光球,讓它捕捉到管道周圍的一些靜態模型信息,然后我們可以在第二次使用RT命令讓渲染回落,有時這個反光球被用作視覺填充。r2d物理好資源網(原物理ok網)

這不僅平衡了我們性能上的不足,也帶來了更好的視覺展示。 所以通過這些方法,我們可以在很多金屬比較多的地方使用,比如一些全身鏡。r2d物理好資源網(原物理ok網)

這個場景也是室外場景。 我們知道,無論你的反射有多高或多低,RT都會對反射做一些回調。r2d物理好資源網(原物理ok網)

但是我們可以仔細想想。 如果我們遇到的物體的平面比較粗糙,當然,即使里面有一些反射,給我們帶來的視覺感受也不是很大,所以這時候我們可以限制它使一個反射的值變大.r2d物理好資源網(原物理ok網)

比如這張圖,我們認為大于等于0.2的時候需要參與RT的反射,但是這就帶來了第二個問題,因為對于一個美術制作人來說,怎么才能更準確呢? 你知道紋理大于等于0.2的地方在哪里嗎? 是參加RT的反思嗎?r2d物理好資源網(原物理ok網)

所以這時候我們就可以做一個后處理材質,我們把所有大于等于0.2的區域都用這些紅色的方式標出來。 這樣美工朋友一眼就可以知道我在哪些地方參與了RT的反思,是否需要那么多地方進行反思。r2d物理好資源網(原物理ok網)

同時這對我們來說也是一個性能控制,可以作為一個很好的預覽。r2d物理好資源網(原物理ok網)

現在你看到這個圖是一個材質的節點圖。r2d物理好資源網(原物理ok網)

因為我們在整個項目中都采用了 流程,也就是說所有美工都不需要自己制作 ,只要TA制作的 可以直接調整參數就可以使用.r2d物理好資源網(原物理ok網)

在這種情況下,我們父材質的一些功能是比較復雜和繁多的,我們可以想象一下,假設有一個場景,我們有一面全身鏡光的反射和光的折射的例子,然后有一扇很華麗的門,比如有一扇門,用的是很復雜的材質,比如杯子,是用很復雜的材質做的,從穿衣鏡里看杯子。r2d物理好資源網(原物理ok網)

首先第一點就是反射上面的杯子像素點一定比較小; 而如果我們在反射上看到了所有的材質效果,還按照這么復雜的計算,視覺體驗可能還不夠。 大大的讓我們心情大降。r2d物理好資源網(原物理ok網)

在這種情況下,我們引入了RT的一個節點,也就是說我們從反射物體觀察細節的時候,還沒有做到完全全節點計算,要參與RT反射,我們只給出一些比較簡單的PBR節點,比如這個值,會大大簡化我們的計算效果。r2d物理好資源網(原物理ok網)

那邊有個例子,所以現在全身鏡上站著三個角色。 雖然我們可以仔細看一下,但是在角色的衣服上已經減少了一些細節,我們疊加了一些細節貼圖。 此刻,我們的RT是關機再開機。 黃色襪子的內部也由那些細致的紋理呈現。r2d物理好資源網(原物理ok網)

但是這個時候我們會看到整個光線追蹤反射需要的微秒數是4.46微秒,但是我們開啟RT之后直接把反射上面的白襯衫里面的一些細節材質殺死了,不需要渲染了。r2d物理好資源網(原物理ok網)

所以從畫面來看,并沒有太大區別。 但此時,其RT反射所需的微秒數增加到了4.1微秒。 今天只是一個小小的反例。 我們可以想象一下,如果所有的父材質都使用這個RT的一些優化節點,在很多大場景中,會為我們的很多性能優化提供一些節省下來的資源。r2d物理好資源網(原物理ok網)

這一塊是我們也用到了一些新的藍圖,在新的藍圖中經常需要用到,并且在這個新的藍圖中預置了一些RT的參數,然后我們就可以把這個新的藍圖以體積框的形式放上去。 在兩個不同場景的交界處。r2d物理好資源網(原物理ok網)

比如這樣一個室外區域和一個室外區域,因為室外和室外的光照信息首先是不一樣的,里面參觀的一些物體的結構、密度、材質也可能有很大的不同,所以我們用這樣的一個In這樣兩個不同的RT優化參數可以在不同的環境下切換。r2d物理好資源網(原物理ok網)

這樣就可以得到整個玩法的平衡,同時也可以滿足一些視覺效果。r2d物理好資源網(原物理ok網)

最后一部分列出了項目中常用的一些RT優化方法、一些命令和一些參數。 雖然總的來說,你不得不犧牲一些視覺細節來換取一些性能的提升,然后最后才能在兩者之間找到一個平衡點。r2d物理好資源網(原物理ok網)

我覺得無論是光線追蹤還是我們傳統的光柵化渲染,它們的目的似乎都是為了給我們帶來一個好的畫面,而既然我們采用了光線追蹤,這將打開我們對現實世界的大門。 門。r2d物理好資源網(原物理ok網)

主站蜘蛛池模板: 闸北区| 拉萨市| 贞丰县| 田东县| 永泰县| 松潘县| 仁寿县| 六盘水市| 洪洞县| 青海省| 邹城市| 三明市| 井研县| 龙陵县| 龙泉市| 西安市| 元朗区| 新津县| 宜城市| 马鞍山市| 大城县| 五大连池市| 南雄市| 广河县| 城步| 胶州市| 海丰县| 镇康县| 云安县| 托克逊县| 石河子市| 伊春市| 独山县| 榆中县| 阆中市| 如皋市| 津市市| 柳林县| 开化县| 宁都县| 博兴县|