亚洲欧美日韩国产成人|亚洲中文字幕无码中字|HEYZO在线无码综合|久久久不卡精品国产一区二|久久精品亚洲无中文东京热|中文字幕乱码一区三区免费|亚洲国产欧美在线观看片不卡|国产精品久久一区二区三区97

燃爆了(unity流體)unity3d紋理,Unity游戲流式虛擬紋理入門【何時用 | 如何用】,slong,

保健品 nanfang 2023-09-05 02:03 98 0

1.unity流體效果

▲查看合集▲今天是2022年11月08日  星期二正文共:6877字25圖   預計閱讀時間18分本期筆記內(nèi)容介紹流式虛擬紋理功能我將討論高分辨率紋理以及它們可能導致的問題然后,我們將深入探討什么是流式虛擬紋理、何時可以使用它以及如何使用它

2.unity紋理貼圖

高分辨率紋理,如果你嘗試在你的項目中使用它,你可能會遇柔組詞一年級到一堆問題主要問題通常是內(nèi)存使用

3.unity2d流體

高分辨率紋理—具有BC3壓縮紋理的4K PBR材料需要48 MB視頻內(nèi)存—1GB 紋理預算我們只能擁有 21 種獨特的4K PBR材質(zhì)—但我需要更多    -更多獨特材質(zhì)>更多紋理    -更多屏幕像素>更多紋理

4.unity流體插件obi fluid

    -高分辨率資源>更多紋理—但我沒有更多的內(nèi)存!    -紋理流在高端開發(fā)機器上可能有更多的顯存,但您的目標用戶沒有更多的內(nèi)存,因此您需要一個解決方案這個解決方案就是紋理流現(xiàn)在,Streaming Virtual Texturing是一個紋理流解決方案它是一個細粒度的、非常先進的解決方案

5.un柔組詞一年級ity3d紋理classid

在虛擬紋理中,我們要做的是獲取紋理數(shù)據(jù)、UV 空間,并將其劃分為非常小的塊、通常為 128 x 128 紋理像素我們將劃分整個 MIPS 堆棧,然后我們將僅流式傳輸那些實際采樣或可見的圖塊,這意味著我們不需要將整個mipmap保存到內(nèi)存中,我們在內(nèi)存中只能有mipmap 的子區(qū)域。

6.unity流水特效

這就是為什么它有時也被稱為稀疏紋理的原因,因為它們并不完全在內(nèi)存中虛擬紋理這個名字來自虛擬內(nèi)存,從程序員的角度來看一切都在內(nèi)存中,但實際上,有些部分在物理內(nèi)存中,有些則不在

7.unity流體模擬

— 將mipmap劃分為小平鋪— 瓷磚尺寸 128X128 紋素— 流式傳柔組詞一年級輸單個圖塊— mipmap 不完全在內(nèi)存中(稀疏紋理)我們將它們?nèi)科戒仯⑶椅覀冎涣魇絺鬏攲嶋H可見的內(nèi)容,因為我們沒有存儲整個紋理。

8.unity流體插件

我們需要一種不同的采樣方法,在我們的系統(tǒng)中我們有一個切片緩存紋理它是一個紋理數(shù)組,我們將存儲這些切片比如說隨機順序緩存然后我們需要一種方法來對這些圖塊進行采樣,我們需要在緩存中找到它們,為此我們有一個間接紋理使用 Virtual UV,我們對間接紋理進行采樣,然后其中包含在緩存中查找圖塊的信息,因此我們可以對其進行實際采樣。

9.unity紋理動畫

這意味著紋理樣本,VT 紋理樣本比常規(guī)紋理樣本更昂貴,因為我們首先需要對間接紋理進行采樣,進行一柔組詞一年級些計算,然后對緩存進行采樣如果我們在著色器中執(zhí)行此操作,我們正在使用我們所稱的軟件虛擬紋理我們不會使用像平鋪資源或部分駐留紋理這樣的硬件圖形 API 加速,因為軟件實現(xiàn)更快、更靈活適用范圍更廣。

10.unity紋理怎么弄

如果我們有這種設置那么我們?nèi)匀恍枰牢覀冃枰魇絺鬏斶@些磁貼中的哪些,這是在運行時基于主相機在后臺自動完成的所以我們綁定了一個額外的渲染目標來渲染,我們將瓷磚 ID渲染到這個額外的渲染目標然后我們將此緩沖區(qū)復制回CPU它得到處理,這總是落后幾幀因為我們在渲染時就知道需要哪些瓦片,所以我們從不暫停渲染管道。

如果圖塊不在內(nèi)存中我們只需,從分辨率較低的 mipmap 中的圖塊中采樣柔組詞一年級那么我們在圖塊中的間接紋理不存在,間接紋理條目將僅指向來自更高 mip 的另一個圖塊因此覆蓋相同 UV 空間的低分辨率mip我們有一個自動后備,我們永遠不需要停止渲染管道也許對于某些幀對于那些像素質(zhì)量會低一些,這一切都是自動完成的,但是您可以添加其他請求我們有 C# API您可以在其中請求特定區(qū)域的 mips、紋理。

這對預取很有幫助,因此有時您會提前知道,如果您有相機變形或相機切割或類似的東西將需要一些東西或者您只想將一些低分辨率數(shù)據(jù)始終保留在內(nèi)存中,以避免任何潛在的流式處理偽影您可以在我們的 C# API 之上構建,它知道的是沒有直接管理所以每一幀你一直告訴系統(tǒng)嘿我認為這很重要這就是我想要的柔組詞一年級緩存系統(tǒng)會盡力做到最好但不能保證

—自動,基于主攝像頭    -落后幾幀—C#Api為該幀添加磁貼請求(繼續(xù)請求)—無直接管理(不斷詢問你想要什么,你可能會在某個時候得到它)—不保證(何時)加載磁貼(盡最大努力)這是流程的概述我們渲染到我們的 tile ID 渲染目標的每一幀,我們將其復制回來這將由一些代碼處理我們稱之為緩存管理器,然后將其轉換為對磁盤的讀取請求,從磁盤中我們讀取大于瓦片的頁面以提高吞吐量。

然后這些頁面存儲在您可以配置的 CPU 緩存中,然后從該 CPU 緩存中提取切片。然后將其復制到 GPU 緩存中一旦它們存在就可以實際用于渲染

在這里您可以看到使用虛擬紋理設置的場景,您會看到這柔組詞一年級些立方體它們每個都有三個 4K 紋理一旦相機開始移動每一幀、一些圖塊、一些新圖塊都變得可見您不能看到整個紋理需要加載這些立方體的整個 mipmap只有這些立方體的某些區(qū)域是可見的

在這里您可以看到顯示圖塊的調(diào)試視圖,圖塊邊框的顏色代表圖塊起源的mipmap,你可以看到如果相機加速每一幀更多的這些圖塊是可見的,在這里我刷新緩存如果我切換調(diào)試視圖您可以看到,它因為相機正在移動所以需要一些時間才能趕上。

但所有內(nèi)容都已從緩存中刪除并重新加載這就是流式虛擬紋理的魅力

這些紋理不需要完全加載只有面向相機的、相機實際可見的部分需要加載這是與 Mipmap Streaming 相比的主要優(yōu)勢,在 Mipmap S柔組詞一年級treaming 中您將加載整個mipmap兩者都適用于大型開放世界,它們允許您在場景中使用比內(nèi)存更多的數(shù)據(jù)但是如果您有密集的場景或者如果您有真正高分辨率的紋理則流式虛擬紋理會大放異彩

【左邊】我們可以用這張幻燈片來解釋它在左邊的幻燈片上我們有一個可以看到四個立方體的相機讓我們假設每個都有一個 4K 紋理這四個立方體靠近相機這些 4K 需要加載所以 4K 紋理在內(nèi)存中【右邊】如果你看右邊使用流式虛擬紋理我們可以有八個這樣的對象只有這些對象中可見的部分需要加載到內(nèi)存中我們可以在靠近相機的地方擁有更多物體的密集場景即使這樣使用的內(nèi)存也比 Mipmap Streaming 少流式虛擬紋理顯然很棒

但它并柔組詞一年級不是所有問題的答案,這是一種紋理優(yōu)化技術但以犧牲性能為代價,正如我之前提到的你有 VT 采樣還有一些額外的組件運行分析等等所以有 CPU 周期和 GPU周期用于運行系統(tǒng) 什么時候不使用流式虛擬紋理?。

—顯然如果您沒有高分辨率紋理那是沒有意義的如果您只有低于 1K(可能是 1K)的紋理那么它可能對您的用例沒有意義—此外,您需要有一些性能預算,一些幀預算,所以每幀需要1到3毫秒您需要有一個預算如果您的幀速率已經(jīng)太低,那么這可能不是您需要的內(nèi)存優(yōu)化技術。

—此外您需要有一些紋理內(nèi)存預算比方說250mb,如果您只有幾個紋理則應用流式虛擬紋理實際上可能會增加內(nèi)存使用量如果應用流式虛擬紋理我們有一個固定大小柔組詞一年級的緩存它相對獨立于您在場景中擁有的內(nèi)容,這更多地取決于您的屏幕分辨率。

您需要最低限度的紋理預算減少內(nèi)存使用并不總是理想的,這就是這里的底線您需要有一些內(nèi)存可以分配給紋理和紋理流此外如果只有非常小的紋理子集有資格與流式 VT 一起使用,那么如果這些紋理中的一些有時會考慮使用 VT,那么您可能不想支付每幀和每幀運行流式 VT 的成本你的項目可能沒有意義,。

你可以做的事情是減少紋理的數(shù)量縮小它們或者使用Mipmap Streaming

什么時候不行?在以下情況下不要使用SVT— 您沒有使用高分辨率(>1k)紋理— 您沒有1-3毫秒的幀預算(取決于設備)— 你不能在紋理內(nèi)存上花費256mb— 只有一小部柔組詞一年級分紋理適合與SVT一起使用然后呢使用mipmap流的縮小紋理

哪些紋理上使用流式傳輸? 如果它們在整個游戲或場景中始終可見,那么您不需要應用流式傳輸它沒有意義,它會一直存在于內(nèi)存中如果它們的分辨率較低或整個 mipmap 始終可見則使用 Mipmap Streaming

如果它們的分辨率真的很高如果它們并不總是可見也不完全可見,例如一個面向相機的角色它的背面是不可見的那么這個角色就不會總是在視野中這些都是很好的候選者,并且僅當它僅在著色器中采樣一次時,因為如果您在著色器中多次采樣紋理,例如噪聲紋理那么對于每個VT 樣本您需要支付一定的成本那么使用 VT 可能沒有意義,對于那種質(zhì)地這些是一些一般規(guī)則柔組詞一年級,總有例外但請記住這一點。

Always Visible始終可見No Streaming無流媒體Low Resolution(<1k)Entire Mipmap Always Visble低分辨率(<1k)整個Mipmap始終可見

Mipmap StreamingMipmap流High Resolution(2K+)Visibility Limited in time and Texture AreaOnly one sample per texture

高分辨率(2K+)時間和紋理區(qū)域的可見性有限每個紋理只有一個采樣Streming Virtual Texturing拉伸虛擬紋理Unity如何在項柔組詞一年級目中設置流式虛擬紋理?這里主要是您需要向 Shader Graph 添加一個節(jié)點,您需要用 VT 樣本替換紋理樣本這些層基本上是紋理。

它們將在“材質(zhì)編輯器”或“材質(zhì)檢查器”中顯示為紋理但這是VT 中的一種性能優(yōu)化技術,也是最小化 VT 樣本成本的一種方法如果您有一個 VT 屬性即三層那將比具有一層的三個 VT 屬性便宜,我們有我們的 VT 樣本對于每個 VT 屬性,對于每個 VT 樣本我們對間接紋理進行一次采樣。

然后我們從緩存中對每個層進行一次采樣,如果有獨立的VT采樣則將有獨立的間接紋理采樣,您將擁有三個間接紋理樣本和三個緩存樣本,而不是只有一個間接紋理采樣和三個高速緩存樣本您將擁有三個間接柔組詞一年級紋理樣本和三個緩存樣本,而不是只有一個間接紋理樣本和三個緩存樣本這是要記住的事情。

如果材質(zhì)中沒有正確設置某些內(nèi)容那么您將在右側看到一個 VT error 材質(zhì)而不是一個渲染良好的材質(zhì)

Unity開啟虛擬紋理這是一個項目范圍的設置每個玩家都不能切換

在這里你可以看到它已經(jīng)設置好了圍繞這個的立方體已經(jīng)有VT

您會看到我們有兩個紋理樣本,我們需要將它們轉換為一個VT 樣本第一個是我們的基礎顏色貼圖,第二個是我們的法線貼圖(為每個圖層分配紋理,否則材質(zhì)將無法正確渲染)在這里我們分配了兩個紋理每個層一個現(xiàn)在我們可以看到一切都很好地渲染了。

現(xiàn)在我們可以看到這個立方體現(xiàn)在是使用支持 VT 的材質(zhì)渲染的

如果你想優(yōu)化柔組詞一年級它,我們可以只在每個紋理的紋理導入器上切換 VT紋理,然后我們只會將此紋理存儲為平鋪虛擬紋理否則我們的游戲構建中也會有一個常規(guī)紋理這允許您在非 VT 屬性上仍然使用此紋理,但是如果您以不同的格式存儲兩次紋理,這可能會使您的構建大小增加一倍。

如果您 100% 確定您的紋理不會在常規(guī)紋理樣本中進行采樣,請打開此選項(上圖黃箭頭)您可以看到紋理檢查器隨后也使用了 VT因為沒有可以從中采樣的經(jīng)典紋理

在紋理流送系統(tǒng)中緩存管理非常重要,您如何設置緩存以及設置緩存的大???在這里有些東西有點不合常規(guī),每個紋理格式都有一個緩存那是因為我們的緩存只不過是一個紋理數(shù)組我們只需要分配它設置每個紋理數(shù)組的大小,我們可以柔組詞一年級將瓦片流式傳輸?shù)狡渲心梢愿鶕?jù)格式進行配置。

這并不意味著它們將被創(chuàng)建只有在使用該格式渲染材質(zhì)時才會創(chuàng)建它們流式傳輸......顯然使用流式虛擬紋理的材質(zhì),然后將創(chuàng)建這些緩存我們希望每個緩存都有一個最佳大小,而最佳大小基本上是仍然可以為您提供最佳質(zhì)量的最小大小。

你可以把它設置得更高,你可以把它設置得更大,然后你可以緩存更多的數(shù)據(jù)但不會影響質(zhì)量需要注意的一點是銷毀和創(chuàng)建這些大型紋理陣列可能需要一些時間這有點貴不要在常規(guī)游戲過程中這樣做否則你可能會有長幀和一些口吃

在某些特定的質(zhì)量設置時間內(nèi)執(zhí)行此操作

在我們的系統(tǒng)中您可以設置一定的緩存大小,也許這個大小對于系統(tǒng)想要在內(nèi)存中擁有的東西來說太小了,然后我們柔組詞一年級將監(jiān)控緩存,并監(jiān)控緩存是否沒有被過度使用以防止緩存被破壞一旦當前幀在內(nèi)存中需要的切片比緩存的 2/3 多那么我們將設置 mipmap 偏差。

這將自動設置因此偏差會增加,這意味著我們將從更高的 mip 中采樣,這意味著更少將請求瓷磚并且紋理質(zhì)量將降低我們增加了偏差以保證我們只為當前幀使用最多 2/3 的緩存對于當前幀現(xiàn)在如果您將緩存設置為低于最佳大小,這將導致質(zhì)量下降這是需要牢記的。

這并不總是直截了當?shù)哪詈檬褂媚姆N尺寸或最佳尺寸并不總是很簡單,因此我們有我們的 VTProfiling 可以為您提供指導,此分析器向您顯示當前視圖中有多少瓦片緩存中缺少多少瓦片將讀取和從中讀取多少數(shù)據(jù)。

它還向您顯示柔組詞一年級當時為哪種紋理格式創(chuàng)建了哪些緩存以及它們的使用量我們稱之為緩存需求這就是當前幀對該緩存的需求在這里我們看到了 23% 的使用率這很棒一旦使用率為 66%mip 偏差就會啟動我們會在這里看到大于零的 mip 偏差,這意味著當前幀三次需要比您分配的更多緩存如果您想找到最佳緩存大小。

那么您可能想要進行玩家捕獲并鎖定,所有這些緩存需求以及其中的最大值這可以很好地指示此緩存需要多大才能獲得最佳大小

目前流式虛擬紋理僅適用于 HDRP 高清渲染管線,代碼的大部分功能都存在于 Core Unity 中但它需要對 RP 進行一些定制在我們的路線圖上Streaming VT 最重要的是添加AssetBundle 柔組詞一年級支持,因為現(xiàn)在如果材質(zhì)使用 VT。

如果您將該材質(zhì)放入 AssetBundle您將沒有任何紋理數(shù)據(jù)您不能將這些材質(zhì)存儲在AssetBundle 中這是我們希望支持的然后可能還可以將平鋪紋理數(shù)據(jù)與 VT 材質(zhì)一起存儲在 AssetBundle 中。

路線圖—資產(chǎn)綁定支持—通用渲染管道支持游戲流式虛擬紋理入門 | Unity 2020官方講座視頻地址:https://youtu.be/qqomQNsLdjA關閉觀看更多更多正在加載正在加載退出全屏視頻加載失敗,請刷新頁面再試

刷新

視頻詳情 【下期預告】虛幻引擎5、VT、SVT、RVT好!本期筆記分享就到這里,我們下期見!獲取方式: 插件免費分享只需分享到柔組詞一年級朋友圈集隨意贊就行(截圖后臺私信我獲取下載地址

)好東西就要分享更多人著急的++下方管理資源來源網(wǎng)絡分享,試用版僅供學習研究使用,版權歸原作者所有,24小時內(nèi)自行刪除往期精選文章35-如何在虛幻引擎中優(yōu)化環(huán)境34-UE5開放世界功能 | 如何設置它們?|世界分區(qū)、多人協(xié)作、數(shù)據(jù)層、關卡實例。

33-UE5世界分區(qū)系統(tǒng) | 高度圖最大尺寸是多少?| 地形的大小與內(nèi)存顯存關系?32-是什么影響了我們游戲性能?為什么要控制游戲性能【優(yōu)化工具與技巧】理論0131-PBR紋理基礎知識 | 紋理打包工具 | 材質(zhì)編輯器講解 | UE第一周 Shading與材質(zhì)創(chuàng)建

30-GAEA1.3號稱是全球第一款定向腐蝕軟柔組詞一年級件 | 第一章界面簡介29-UE5多種道路制作方案!總有一款適合你該如何選擇?28-如何讓關卡中草與地形無縫銜接?| 運行時虛擬紋理混合27-關于構圖,你能夠?qū)W到什么?

26-什么是 Lightmass?UE4中的Lightmass World Settings | 如何設置才能獲得最佳效果25-虛幻引擎的燈光照明丨為什么我需要為我的燈選擇移動類型?靜態(tài)丨固定丨可移動有何不同

24-UE4燈光教程丨夜晚與白天環(huán)境/應該如何設置燈光/標準化資產(chǎn)?技巧與制作規(guī)范23-Houdini地形系統(tǒng)丨HDA制作丨導入UE4全流程制作講解【新人必看】22-什么是DXT壓縮?詳解UE5材質(zhì)每種壓縮格式!如何選擇適合柔組詞一年級項目壓縮格式?

21-UE5材質(zhì)紋理面板介紹與設置/了解一點紋理壓縮的工作原理20-Mip Mapping(Mip貼圖)是什么如何工作?以及與紋理填充的關系!如何掌握它19-重要!什么是Texel密度?如何檢查、制作并設置合理的Texel密度?看看這個標準怎樣!

18-UE5創(chuàng)建卡通油漆丨墨水輪廓丨鏡面反射高光著色器材質(zhì)制作17-如何在 Substance Painter 中設置 SSS并導出貼圖到maya中渲染16-什么是UV、UV貼圖、展UV?掌握它告別展UV的枯燥乏味、變得輕松愉快

15-UE5視差-真實建筑室內(nèi)效果是怎樣用視差映射制作實現(xiàn)的?(下部)14-什么是PDG如何創(chuàng)建與使用丨PDG導柔組詞一年級入UE4大世界13-Houdini地形遮罩有幾種方式12-houdini這功能必須學會11

-World Creator 3丨如何創(chuàng)建屬于自己的關卡10-為什么要修改植被頂點法線丨如何修改頂點法線才可以提升植被在引擎中效果?09-計算機圖形渲染管線/概念介紹【TA技術美術必修基礎知識篇】第一期/共四期

08-SD_材質(zhì)節(jié)點第三期 分享10+ 總有一款適合你,助你高效高質(zhì)的工作(附:節(jié)點下載)07-奇技淫巧第11篇|如何在 zbrush 中創(chuàng)建自定義接縫筆刷/自定義畫筆/MD褶皺布料06-如何在Sd/Ds烘焙法線?Ps和Sd修改法線有什么不一樣,為什么要在Sd中修改!

05-PBR理論知識】推薦必看!柔組詞一年級Allegorithmic的PBR指南-第2部分(完結)04-Marvelous Designer學會MD或許只需一篇文章就好!只講用到的命令!03-SP插件Substance Painter風格化紋理生成器

02-SP_風格化材質(zhì)分分鐘學會制作風格化智能材質(zhì)(附 : 材質(zhì)球和源文件)01-SD繡花花邊使用Substance Designer制作繡花花邊布料紋理

關注我們學習不止、不止學習

公眾號小編

公眾號

嗶哩嗶哩

標簽列表