99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

UE紋理設置詳解與優化指南

0
分享至


【USparkle專欄】如果你深懷絕技,愛“搞點研究”,樂于分享也博采眾長,我們期待你的加入,讓智慧的火花碰撞交織,讓知識的傳遞生生不息!

這是侑虎科技第1794篇文章,感謝作者RE-Ding供稿。歡迎轉發分享,未經作者授權請勿轉載。如果您有任何獨到的見解或者發現也歡迎聯系我們,一起探討。(QQ群:793972859)

作者主頁:

https://www.zhihu.com/people/ding-yan-qing-75

一、精華版

1. 提前規劃好紋理的合并策略:包括紋理通道合并(非必要不使用Alpha通道),紋理圖集,紋理數組,且許多工作需要在引擎外完成。這對于優化CPU和GPU性能,以及減小包體大小很重要。

2. 根據紋理的特點和需求選擇合適的格式與分辨率:例如標準圖像選擇TGA,HDR選擇EXR。如果需要生成Mipmap,啟用紋理流送,紋理分辨率需要為2的冪次方。如果需要使用壓縮設置建議分辨率可以被4整除,因為基礎的紋理壓縮塊為4*4。

3. 重視“紋理組”“最大紋理尺寸”設置:我們往往忽略的“紋理組”設置其實非常重要,一方面“紋理組”在我們看不到的地方根據紋理的用途做了許多性能和效果優化;另一方面一些設置提供“來自紋理組”選項,它們大概率是我們可以無腦選的最佳選擇。保證美術效果的前提下設置適合的“最大紋理尺寸”對于紋理優化很重要。

4. 紋理壓縮建議:sRGB顏色空間的紋理(包括UI貼圖)選“默認(DXT1/5,BC1/3)”,法線紋理選“法線貼圖(DXT5,BC5)”,線性顏色空間的紋理選“遮罩(無sRGB)”,前面3類紋理如果需要更高圖像質量選“BC7(可選的A)”,單通道紋理選“透明度(BC4)”,HDR紋理選擇“HDR已壓縮(BC6H)”。如果不需要Alpha通道則啟用“無透明度壓縮”,因為A通道占用RGBA壓縮紋理一半存儲空間。

5. 做好紋理資產分類與規劃管理:包括資產的文件夾目錄與命名規范,色彩空間標準與規范,使用更小分辨率母版紋理作為母材質的默認紋理,避免不必要地加載過多與過大的紋理。

6. 善用引用查看器/屬性矩陣/UV編輯器/SizeMap等引擎工具,便于排查問題,資產管理,提升效率,優化性能等。


上圖為UE5的紋理資產編輯器,與紋理相關的設置基本在界面的右側面板。本文圍繞UE5紋理的各項設置功能詳細介紹并深挖其機制原理,并分享一些UE紋理優化的策略和方法。

二、紋理類型

常見的紋理資源類型包括標準的圖像紋理(PNG/TGA/JPG)、立方體紋理(EXR)、IES配置文件(IES)、體積紋理和渲染目標。

常見的紋理命名規范:T_美術用途_自定義_512(寬)_1024(高)_4(通道數量)

標準的圖像紋理

常用的格式有三種,具體選擇那種需要根據他們的特性。TGA和PNG是游戲領域常用的兩種格式,它們都是無損的格式。

二者的主要區別:一是在于PNG圖片有透明度但沒有Alpha通道,而TGA圖片有Alpha通道,因此美術在PS中想要對Alpha通道做特殊編輯時使用TGA更方便,PNG圖片在引擎內的Alpha通道是引擎根據圖片的透明度自動生成。

二是PNG格式可以通過壓縮降低文件大小,因此同樣的圖像內容和分辨率它的資產大小遠小于TGA格式。但是二者導入引擎后,分辨率和引擎壓縮設置相同的情況下資產大小相同,且PNG文件導入引擎時會多一道解壓縮過程。

JPG格式屬于有損壓縮,體積很小,但是不支持透明度和Alpha通道,且相同分辨率和壓縮設置的情況下壓縮容量小于TGA和PNG,因此適合用于大分辨率的不透明紋理。


相同紋理分別存儲為PNG/TGA/JPG格式后導入UE引擎后壓縮容量的差異:


常見的標準圖像紋理包括:顏色貼圖、漫反射貼圖、透明度貼圖、法線貼圖、自發光貼圖、反射貼圖、金屬度貼圖、粗糙度貼圖、AO貼圖、遮罩貼圖、高度貼圖、位移貼圖和Flowmap等等,它們基本上是作為材質的參數輸入。

針對種類多樣的貼圖我們常見的優化方案是把它們合并進紋理不同的通道,例如把金屬度/粗糙度/AO貼圖合成一張RGB紋理(即MRAO紋理),把BaseColor紋理與透明度紋理合成一張RGBA紋理。


并且我們可以在UE的紋理編輯器內單獨查看每個通道的貼圖數據。

立方體紋理

立方體紋理名如其意,由六個正方形紋理面(通常分別表示上、下、左、右、前、后)組成,統一構成一個立方體。通常用于創建環境映射(Environment Mapping)或天空盒(Skybox),提供于材質采樣以實時反射周圍環境,實現更真實的視覺效果。

立方體紋理常用的格式為DDS(DirectDraw Surface),能夠有效支持各種壓縮格式(如 DXT1、DXT5),并允許快速的GPU加載。PNG和TGA也可用于立方體紋理的源圖像。

立方體紋理在紋理編輯器中的操作和設置與標準圖像紋理無太大區別,在工具欄中多了“面”操作和“三維視圖”操作。

啟用面操作后,可以通過輸入數字號碼來查看立方體紋理的各個面,從0-5分別對應正X、負X、正Y、負Y、正Z、負Z。


啟用三維視圖后,可以預覽立方體紋理的3D空間效果,按住鼠標左鍵并拖動就可以旋轉在三維視圖中的視角。


立方體紋理在設置時主要注意選擇正確的紋理組,例如“天空盒”,以及選擇正確的壓縮方式,建議HDR已壓縮(BC6)。

IES配置文件

IES(Illuminating Engineering Society)文件是一類照明行業標準方法,提供了燈具的光強分布數據,包括角度、強度等,這些信息可使光照考慮燈具的反光表面、燈泡的形狀以及發生的透鏡效應。在UE中它被用于創建更逼真的光源效果,模擬真實世界中的光源,比如各種燈具的照明表現。

IES光照配置文件(IES Light Profiles)被稱為“1D 紋理”(漸變紋理),但實際并不屬于傳統的紋理文件。它們使用的數據格式是為了有效地描述光的強度分布和方向,且它們的使用對象是光源而非材質。


IES文件包含一個曲線,該曲線定義了光源在不同角度下的光強度,這些數據反映了真實世界中燈具的光分布特性。這個曲線沿一個軸線“掃動”,它定義了光的發射方式,對于點光源和聚光燈來說,曲線表明在不同角度下應該有多少光輸出。IES光譜曲線的主要作用是作為一個亮度的乘數影響整體光源的強度。使用IES光照配置文件可以避免傳統紋理映射過程中的開銷和瑕疵。在某些角度下,傳統紋理由于分辨率限制可能出現失真,而IES配置文件通過數學模型避免了這種問題。


IES文件雖然本質非紋理,但同樣由紋理編輯器查看與設置,它比標準圖像紋理多出兩項設置:亮度和紋理乘數。


此外關于IES文件的設置建議:紋理組設為“IES光源描述文件”,壓縮設置為半浮點(R16F)。

體積紋理

體積紋理(Volume Texture)是一個三維數組,與常規的二維紋理不同,體積紋理提供了額外的深度維度,使其可以在三維空間中進行數據操作和呈現。這種紋理形式常用于需要在三維空間中訪問和插值的應用,如云彩、煙霧、體積光、體積效果、模擬流體或其他復雜的場景效果。

體積紋理通常比二維紋理占用更多的內存,因為其數據結構需要存儲額外的深度信息,所以尺寸與分辨率需要根據具體需求進行調整,以平衡好效果和性能。

體積紋理的二維展示:


啟用三維視圖后可以查看體積紋理的三維效果:


在紋理編輯器中體積紋理的設置與標準圖像紋理并無本質不同,因為體積紋理可以看作是由普通2D紋理堆疊而來,主要格式包括:PNG/TGA/DDS/EXR,所以它的Mipmap設置、壓縮設置和顏色設置可以參照標準圖像紋理。

體積紋理的一項額外設置是源2D,設置參數包括:源紋理、瓦片大小X和瓦片大小Y。它的主要功能是通過源紋理中輸入的2D紋理,通過瓦片大小X或瓦片大小Y中的參數切分后合成體積紋理。

渲染目標/立方體渲染目標

渲染目標(Render Target)是一種特殊的紋理,用于在運行時將渲染的內容保存到紋理中以供使用。渲染目標的用途有很多:后期處理效果(Post-Processing Effects)、反射和折射、動態紋理、實時光照和陰影、深度和模板信息、Mini-Maps和HUD、第一人稱視角效果以及特殊的材質效果。

渲染目標有較高的消耗內存,尤其在高分辨率或多重渲染目標的情況下,更新頻率可能會影響性能,需要根據需求適當降低更新頻率。

渲染目標相比標準圖像紋理有許多特殊的設置,包括:尺寸XY、清除顏色、地址XY、渲染目標格式、自動生成Mip、Mip采樣器過濾、Mip U地址、Mip V地址、共享以及紋理渲染目標的目標伽馬。


立方體渲染目標可以看作是立方體紋理與渲染目標的結合體,性能開銷大,較少在實時渲染中使用,它的設置項如下圖:


媒體紋理

媒體紋理(Media Texture)是一種特殊類型的紋理,可以把視頻文件作為紋理源,直接在游戲或應用中播放并顯示它們。媒體紋理不能夠單獨使用,需要配合媒體播放器或媒體源等文件才能實現在關卡場景內播放視頻。

媒體紋理同樣需要在紋理編輯器內完成設置,但它的設置項與其他類型的紋理差異較大。媒體紋理沒有了層次細節、壓縮、紋理和調整等設置,主要設置項為自動清除、清除顏色、啟用Mipmap生成、要輸出的Mipmap總數、啟用新風格輸出、輸出格式(默認sRGB/sRGB線性輸出)、過濾器、XY軸平鋪法和媒體播放器。


紋理數組

2D紋理數組和立方體紋理數組是用于存儲多個紋理的高級紋理類型,這些紋理數組在許多應用場景中可以大大簡化材質和紋理管理。將需要同時調用的多張紋理貼圖合成為紋理數組或紋理圖集,可以降低DrawCall優化CPU性能,例如將同一界面出現的UI貼圖適合制作成紋理數組或紋理圖集。

注:紋理圖集與紋理數組功能相似但不是同一個概念,紋理圖集主要用于二維游戲和UI元素,是把多個低分辨率的小紋理合并成一個更大的單一紋理,然后重新映射UV使用各個小紋理。紋理圖集通過減少渲染期間的狀態切換和繪制調用來提高性能。


2D紋理的本質是為多張紋理建立一個組,其主要設置與標準圖像紋理無差異,因此需要注意紋理數組內的紋理各項設置統一,層級細節、壓縮和顏色等無法個性化設置。紋理數組在紋理編輯器中多了一項源2D設置,這里的源2D與體積紋理的不同,體積紋理是將一張2D紋理切割組成一個3D紋理,而紋理數組是將數個紋理編組管理。

紋理數組的源2D設置項包括:地址XYZ(包裹/限制/鏡像)、紋理源(可按需添加),此外在紋理細節面板會顯示紋理數組中的紋理數量。


紋理數組信息面板:


紋理數組普通預覽與切片預覽:



三、層次細節

層次細節設置主要圍繞Mipmap,最常用的設置包括Mip生成設置、LOD偏移和紋理組。



Mipmap的使用主要是為了解決紋理分辨率與采樣頻率之間的矛盾,在三維場景內,離攝像機(屏幕)近的位置有更高的采樣頻率,需要更高的紋理分辨率,否則容易失真走樣;離攝像機(屏幕)遠的位置采樣頻率會變低,應該對應更低的紋理分辨率,否則會出現鋸齒和摩爾紋,即Mipmap通過攝像機與場景的距離匹配采樣頻率與紋理分辨率。



但Mipmap容易導致場景遠處的貼圖過于模糊,這是由于Mipmap是正方形的而實際場景因為透視需要往往是扭曲的長方形,因此出現了針對各向異性的Ripmap。



Mipmap與Ripmap開啟后紋理內存都會增加1/3,單Ripmap需要更多的采樣點,渲染時運算消耗更高。

Mipmap與Ripmap的層級數量由引擎根據貼圖分辨率自動計算,渲染時使用哪一層級(Level)由Shader自動計算。

我們只需要判斷是否需要開啟Mipmap,即是否可以通過增加1/3的紋理內存優化3D場景中的貼圖表現效果和渲染性能。

如需詳細理解Mipmap的原理可以閱讀下文:

《紋理映射(Texture Mapping)及Mipmap技術》


https://zhuanlan.zhihu.com/p/144332091

1. Mip生成設置

Mip生成設置中提供的主要選項有:來自紋理組、簡單平均數、銳化、模糊、無Mip貼圖等。

“來自紋理組”是默認也是最常用選項,配合下面的“紋理組”設置可以“無腦”選擇最適合紋理用途的Mipmap模式,例如UI紋理只需要在紋理組中選擇“UI”,再選擇來自紋理組,與層次細節相關的基本設置會自動匹配最佳設置,不必再進行復雜的思考和選擇。

注意,如果想要為紋理設置多層Mip,分辨率必須為2的冪次方,例如32、64、128、2048等。

“簡單平均數”是指當分辨率較大的一層Mip變成分辨率較小的一層Mip時,使用2x2核尺寸合并成一個新的像素,這個像素的顏色值是先前多個像素的顏色值的平均數。


“銳化”是指當分辨率較大的一層Mip變成分辨率較小的一層Mip時,會使用8x8核和負權重生成相對較銳利的低分辨率紋理版本。“銳化”會優先生成帶有細節的紋理,更加突出紋理的邊緣和特征。更適合細節豐富的紋理,比如石頭、樹皮。


Sharpen0并非銳化,但它仍然使用質量向下采樣過濾所有銳化設置(4x4高斯核)。與SimpleAverage相比,它效果更模糊但卻擁有更高精度。


“模糊”與“銳化”相反,它是通過特殊的卷積核生成更加平滑、低對比度的低分辨率紋理版本。相較于銳化后的紋理,模糊的紋理噪點更少,視覺體驗更舒服。


“無Mip貼圖”,當選擇無Mip貼圖時,引擎將不再為紋理生成多層Mip,最上方的細節信息會顯示“Mip數量”為1。


左側紋理沒有Mip,右側紋理有Mip。

2. LOD偏移

我們常在模型優化設置中看到LOD(Level of Detail)這個名詞,可以把Mipmap理解為紋理的Level of Detail,所以“LOD偏移”其實是對紋理Mip的偏移。

默認情況下,使用該紋理的材質會根據距離和屏幕空間大小來選擇最合適的Mipmap級別,且級別從0開始,代表最高分辨率的紋理,然后逐級降低。而“LOD偏移”設置允許指定渲染時的Mipmap級別。通過調整偏移值,可以使紋理在更早或更晚的距離上切換到不同的Mipmap級別。

正值偏移:會使引擎在使用中選擇比正常使用的更低一個級別的Mipmap。這個設置可以在需要節省性能的時候使用,例如在視覺中不重要的部位使用更低分辨率紋理。

負值偏移:會使引擎在使用中選擇比正常使用的更高一個級別的Mipmap。適用于需要更高細節精度的場景,如需要近距離清晰觀察的物體。

雖然“LOD偏移”是紋理的基礎設置,但在游戲項目中并不是很常用。簡言之,需謹慎使用LOD偏移,過度調整可能導致性能下降或視覺不一致。特別是在運行復雜場景時,應該較為小心地控制偏移值。

3. 紋理組

在Mip生成設置中的“來自紋理組”選項處我們已經提到了“紋理組”,紋理組設置(Texture Group Settings)的功能正是對“紋理組”進行選擇,并設置一系列的屬性,以優化紋理在游戲中的使用。這一功能對于管理各種類型的紋理資源至關重要,可以幫助提高性能、降低內存使用,并確保在不同環境中的最佳使用。

與紋理組相關的屬性主要包括:最小Mip與最大Mip,LOD偏移,最小/最大過濾器,Mip過濾和Mip生成設置。

下面是引擎對World紋理組的配置:

TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)



四、層次細節-高級


1. 保留邊界

當保留邊界(Preserve Border)為True時,Mipmap生成時將保留紋理的邊界。比如在角色的邊緣或重要的視覺元素上,適當的邊界保留可以防止在紋理變換時出現模糊或前景后景融合的問題。


2. 縮減與縮減選項

縮減(Downscale)僅應用于沒有Mip(mips < 1.0)的2D紋理,可以根據不同的平臺和系統進行針對性的縮減設置,以優化紋理的分辨率從而減少內存使用和提高性能。縮減設置的參數范圍為0-8,值為0時使用紋理組中的比例值,為1.0時不縮放紋理,大于1.0時縮放紋理。


縮減選項(Downscale Options),當縮減(Downscale)用于沒有Mip的紋理時,可以在此設置紋理縮小時的過濾方式,它們與Mip生成設置的選項類似,主要包括:默認、未過濾、簡單均數和銳化。

3. 動畫Mip等級數

“動畫Mip等級數”(Num Cinematic Levels)同樣是與紋理Mip相關的設置,不同之處在于它是針對過場動畫與電影級渲染時設置的Mip級數。

此設置指定紋理以過場動畫精度強制流入時用于過場動畫的高分辨率Mip等級數量。數值為0(即默認值)表示在過場動畫時使用默認的Mip級別。數值為1表示將紋理在游戲中的分辨率降低一個Mip等級(Mip級別越低紋理分辨率越高)。數值為2則降低兩個Mip等級,以此類推。此外,也可以在“紋理組”中選擇“過場動畫”,與此項設置配合使用。

4. 從不流送

此設置與“紋理流送”有關,當紋理設置中勾選此項,該紋理將不會被流送。

它允許引擎按需加載和管理紋理,以便在保持高質量的同時優化內存使用和性能。這種方法特別適合大型開放世界游戲或具有復雜紋理的場景,因為它可以有效減少GPU內存的占用。

紋理流送的基礎邏輯是根據相機視角和距離動態加載最合適的Mipmap級別來工作。所以說只有能夠生成Mip的紋理才有可能被流送。


構建紋理流送數據。


顯示當前流送紋理分辨率和所需紋理分辨率之間的關系:

紅色:缺失2X+個Mip;

黃色:缺失1個Mip;

白色:良好數據;

青色:多余1個Mip;

綠色:多余2X+個Mip

5. 整體強制常駐Mip等級

如果希望將特定紋理的Mip級別強制常駐,以確保在運行時不會被卸載,可以通過設置紋理的“整體強制常駐Mip等級”(Global Force Resident Mip Levels)屬性來實現。這對確保紋理在特定情況下保持較高質量時有效,例如在需要頻繁查看的對象上。

五、壓縮

紋理壓縮可以同時減輕GPU和CPU的負擔,減少了資源在CPU中進行解壓縮的過程,減小了包體大小,減少了數據量級,更快地加載時間,減輕了帶寬計算的壓力內存使用效率更高,顯著減少顯存的使用,使游戲能夠加載更多的紋理。

1. 無透明度壓縮

此項設置對于擁有Alpha通道的紋理且不需要使用Alpha通道時有用,正確開啟后可以節省紋理的一半資產大小,紋理信息也會顯示“擁有Alpha通道”為“False”。至于為什么開啟“無透明度壓縮”后會節省一半的資產大小,是因為RGB紋理壓縮與RGBA紋理壓縮方式不同。(詳見本節的4.壓縮設置。)

無透明度壓縮開啟前:


無透明度壓縮開啟后:


2. 編輯器顯示最終編碼

如果啟用,則在此編輯器會話期間以最終質量壓縮紋理,使其使用最終級別(RDO,Rate Distortion Optimization)編碼,而不是默認的快速級別(非RDO,Rate Distortion Optimization)。對應的“編輯器顯示最終編碼”為“True”,紋理信息中的“編碼速度”顯示“最終”;為“False”。紋理信息中的“編碼速度”顯示“快”。

在使用Unreal Engine的紋理壓縮方案“Oodle紋理”前,我們需要了解碼率失真優化 (RDO,Rate Distortion Optimization)的概念,RDO指在數據編碼過程中,通過權衡傳輸速率與圖像質量之間的關系,尋求最佳的壓縮效果。Oodle提供了4種不同的壓縮格式,具有不同的編碼/解碼速度和壓縮比,默認是“Kraken”。


通過設置Oodle的RDO lambda值可以在幾乎不影響紋理質量的情況下優化項目包體大小,啟用“編輯器顯示最終編碼”正是顯示應用項目RDO lambda值壓縮后的紋理效果。

下圖是Oodle不同壓縮設置的對比圖。


3. 編輯器延遲壓縮

如果啟用,則推遲紋理的壓縮,直到在紋理編輯器中保存或手動壓縮。如果不啟用則實時顯示紋理壓縮設置對應的壓縮結果。

下圖是啟用前后紋理信息面板顯示的對比圖,他們的差別主要表現在:格式、資源大小、擁有Alpha通道和編碼速度。

啟用前:


啟用后:


4. 壓縮設置

紋理的壓縮格式是基于塊壓縮,且絕大多數的壓縮塊是4*4像素,所以紋理分辨率如果不能被4整除則無法成塊無法壓縮。

基于塊壓縮的紋理能更快讀取像素所屬字節塊進行解壓縮以支持隨機訪問,且相比于普通的圖片壓縮格式,能夠直接實現單個像素的解析,不需要CPU解壓成非壓縮格式就可以被GPU識別。

常見的紋理格式:


以64位的DXT1為例,一個壓縮塊中32位存儲2個16位的RGB顏色極值,另外32位存儲16個2位索引值。128位的DXT5的RGB值存儲方式與DXT1相同,區別在于另外64位存儲Alpha值:2個8位Alpha極值,16個3位索引值。ETC與ASTC同樣是基于塊的壓縮算法,塊的大小為64/128位,數據存儲方案存在一些差別。

紋理壓縮比:


以下是UE5中常見的幾種貼圖壓縮格式及其特點:

1. 默認(Default,DXT1/DXT5/BC1/BC3)

默認壓縮格式,適用于大部分紋理,通常用于BaseColor貼圖。如果有Alpha通道,則使用BC3/DXT5,否則使用BC1/DXT1(實際上BC1也是有Alpha通道,只是通道所占位數只有1,所以UE直接忽略掉)。這種格式的壓縮比率通常是8:1 。

BC1中的RGB所占比例是5:6:5,所以G通道存儲信息的精度更高一些;而BC3中的RGBA所占比例是5:6:5:8,所以可以根據對信息精度的需求選擇適合的存儲通道。

2. 法線貼圖(Normal Map,DXT5/BC5)

專門用于法線貼圖的壓縮格式,不包含sRGB,可以有效地壓縮法線貼圖而不損失太多細節 。“法線貼圖”的壓縮格式為BC5,其中RGB所占用比例是5:6:5,對于法線數據的存儲來說是不夠的。如果需要更高質量的法線紋理,可以考慮用BC7(R8G8B8A8),這種紋理壓縮方式能保證每個通道的比例都為8,能讓貼圖得到更小的壓縮以及更多的細節。

3. 遮罩(Masks)

用于只需要灰度信息的紋理,如粗糙度、金屬度、環境光遮擋等,同樣是使用DXT1/DXT5/BC1/BC3壓縮,不包含sRGB 。“遮罩”與“默認”模式類似,區別在于是否需要勾選sRGB。

“遮罩”紋理往往是將3至4張灰度紋理按照通道合并,再通過壓縮可以顯著縮小資產大小,但精度也會有相應的損失,為了提高精度也可以選擇BC7格式壓縮。此外,非必要情況下,建議使用RGB貼圖而非RGBA貼圖,因為對于BC3/DXT5,每4*4的壓縮塊為128bits,其中64bits存儲RGB Color,另64bits存儲Alpha。


相同分辨率下,BC7壓縮比法線壓縮格式更清晰一些,但也存在像素塊明顯和容量稍大一些的問題。

注意:BC7壓縮格式的法線紋理只能在材質實例中使用,母材質針對法線紋理采樣有針對性的優化,紋理采樣器的類型需選擇“法線”,且使用法線壓縮格式的紋理,否則會編譯報錯。

4. 灰度(Grayscale,G8/16,RGB8)

高質量灰度壓縮,不包含sRGB ,適用于需要高質量灰度信息的紋理,如高度圖 。

G8/16是常見的灰度格式,“灰度”格式主要用于存儲黑白圖像,其中每個像素僅包含亮度信息,而沒有顏色信息。

G8表示每個像素用8位(1字節)存儲灰度值,值的范圍從0到255,0表示黑色,255表示白色。G16每個像素用16位(2字節)存儲灰度值,提高了灰度級別的分辨率,值的范圍從0到65535,允許更細膩的灰度變化,適合需要更高精度的應用。

“RGB8”是一種常見的顏色圖像格式,每個像素包含紅、綠、藍(RGB)三個顏色分量的信息,每個分量占用 8 位。

5. 置換貼圖(Displacement Map,G8/16)

用于在模型表面添加幾何細節的紋理類型,輸出到材質頂點位置偏移,改變模型表面的頂點位置,從而創造出更加真實的三維效果。與灰度貼圖相似,也是單通道的G8/G16格式。

置換貼圖也稱作高度貼圖(Height Map),其中灰度值代表頂部到底部的高度變化。較暗的值代表低點,而較亮的值代表高點。置換貼圖允許物體表面根據紋理表面變化,呈現出細膩的三維效果,而不僅僅是法線的仿真。

6. 向量置換貼圖(Vector Displacement Map,RGBA8)

向量置換貼圖與普通置換貼圖基本相同,區別在于根據其RGB三個通道的信息來改變模型表面在X、Y和Z方向的位移,而普通置換貼圖只有一個通道用于改變模型表面的高度位置。

注意!灰度貼圖、置換貼圖、向量置換貼圖都未經過引擎的紋理壓縮處理,導致資產大小較大,建議單通道時設為“透明度”,使用BC4壓縮。

7. HDR(RGBA16F)

主要用于存儲高動態范圍圖像(HDRI),通常不使用壓縮,格式為floatRGBA,每個通道使用16位(float)浮點數來表示顏色值,提供更大的動態范圍和更精確的顏色表示,因此常用于基于圖像的照明或天空盒的紋理,以還原真實的世界。

HDR(High Dynamic Range)紋理常用的格式為EXR,也可以選擇使用HDR或者TIFF。HDR的精度遠高于8位,所以RGB通道的數值范圍超過1。HDR具有更好的色彩,更高的動態范圍和更豐富的細節,并且有效的防止畫面過曝超過亮度值1的色彩也能很好的表現,使像素光亮度變得正常,視覺傳達更加真實。我們常用的Bloom效果就必需HDR的支持。但也有一些缺點:渲染速度較慢,需要更多的顯存,不支持硬件抗鋸齒。

與HDR對應的是SDR(標準動態范圍),精度為8位,RGB通道的數值范圍是0~1,我們使用的絕大多數紋理為SDR。

雖然HDR的視覺效果更好,但是引擎最終輸出的畫面依然是LDR的,所以需要經過一步ToneMapping(色調映射)把HDR轉化為LDR。Academy Color Encording System學院顏色編碼系統最流行、最被廣泛使用的Tonemapping映射曲線,效果的對比度提高,很好地保留暗處和亮處的細節。

8. 用戶界面2D(User Interface 2D,RGBA)

用于UI元素的紋理,通常不壓縮,以保證UI元素的清晰度。但正因為這項設置會導致紋理不被壓縮,增大了項目的包體和性能壓力,所以大部份情況下UI紋理不會使用該項設置,而是使用壓縮率與清晰質量更平衡的BC7格式。

9. 透明度(Alpha,BC4)

用于只需要Alpha通道信息的紋理,使用BC4壓縮,適合于貼圖不需要顏色信息,只需要透明度信息的情況 。“透明度”與“灰度”壓縮設置類似,同樣是單通道無顏色信息,不同之處在于一個是存儲透明度信息,一個是存儲亮度信息;一個有壓縮,一個無壓縮。所以一些灰度紋理可以設置成“透明度”壓縮,以節省紋理一半的資產大小。


對于相同分辨率的灰度圖,透明度壓縮的效果要遠遠好于遮罩壓縮,但壓縮容量要稍大一些。不過分辨率高一個Mip級別的情況下,透明度壓縮的效果依然好于遮罩壓縮。例如,相同圖像內容的紋理256分辨率的透明度壓縮效果要好于512的遮罩壓縮,此時透明度壓縮的最終容量要遠小于遮罩壓縮。

同時,選擇透明度壓縮后,紋理會變成單通道,但在材質紋理采樣器中,RGBA的4個輸出通道都可以正常使用,且輸出內容均為單通道的圖像信息。

10. 距離場字體(Distance Field Font,G8)

用于距離場字體的貼圖,只需要單通道灰度信息,使用G8格式。

11. HDR已壓縮(HDR Compressed,BC6H)

用于壓縮HDR貼圖,提供比未壓縮HDR更好的壓縮率和質量,僅在DirectX 11及以上版本中可用 。

BC6H是一種紋理壓縮格式,支持高動態范圍(HDR)圖像,壓縮比為6:1。與傳統的紋理壓縮格式(如DXT,BC1、BC3和BC5)不同,BC6H處理的是浮點數據,適合用于HDR內容。并且支持RGB顏色空間的無損壓縮,能夠保存細膩的顏色過渡和深度信息,常用于反射貼圖、光照貼圖和其他需要高動態范圍的數據。

注意!HDRI資產體積往往非常大,大部分情況下需要設置成“HDR已壓縮”,而非“HDR”。

12. BC7(DX11,可選的A)

高質量紋理格式,適用于特別重要和需要高質量壓縮的紋理,提供4:1的壓縮比率,并且可以包含Alpha通道 ,僅在DirectX 11及以上版本中可用。

BC7能夠處理不同的壓縮模式,和不同類型的紋理,既可以用于RGB,也可以用于RGBA;既可以壓縮BaseColor,又可以壓縮Normal。它可以在顯示高對比度和復雜細節的紋理時減少鋸齒現象,適合于需要保持色彩細節和漸變平滑性的場景,所以對需要較高視覺品質的BaseColor/Normal Texture可以采用BC7格式壓縮。

13.其他壓縮設置

除此之外,還有些并不常用的壓縮設置:半浮點(R16F)、單浮點(R32F)和HDR高精度(RGBA32F)。這些設置雖然可以提供更大的范圍和更高的精度,但是并未壓縮,資源大小數倍增加,所以大多數情況下游戲項目內不會使用這些設置。

R16F是一種16位單通道(灰度)格式,它將紅色通道的值編碼為16位半浮點值,并丟棄其他通道。而且提供了比8位格式(如G8)更高的顏色值范圍,適合需要較高動態范圍的場景。

R32F是一種32位單通道格式,使用32位浮點數來存儲紅色通道的值,適用于需要極高精度的場景。單浮點格式能夠提供比半浮點更高的精度,但也會占用更多的內存和帶寬。

RGBA32F這是一種32位四通道格式,每個通道都使用32位浮點數,適合存儲高動態范圍(HDR)圖像。RGBA32F格式可以存儲更廣泛的顏色和亮度值,適合需要極高精度和寬色域的應用。

六、壓縮-高級

1. Oodle紋理SDK版本

該項設置用于選擇和管理使用Oodle Texture庫時編碼紋理的版本。

項目中的每個紋理在創建時都會與特定版本的Oodle Texture SDK關聯。這可以保持兼容性,避免未來SDK更新可能導致的紋理行為問題。

默認情況下,當創建新紋理時,它會被分配為當前版本的Oodle Texture SDK。這確保了紋理利用當時最新的功能和優化,而不受后續SDK更新可能引起的變化影響。

如果遇到編碼問題或需要利用Oodle SDK新版本中的改進,可以通過在紋理屬性中的指定數字字段中輸入關鍵詞“latest”來手動更新紋理的版本。這會指示Unreal Engine對該特定紋理使用最新版本的Oodle Texture SDK。

如果將該字段留空,紋理將回退到使用項目的舊版Oodle Texture編碼設置。這在舊項目或需要與先前SDK版本保持兼容的紋理中很有用。

當“重新導入紋理”時,引擎會自動更新紋理以使用指定的最新SDK版本。這個自動過程有助于確保資產與最新Oodle Texture更新中的優化和修復保持同步。

2. 最大紋理尺寸

最大紋理尺寸是指生成紋理可以使用的最大分辨率。此設置有助于控制材質和紋理使用的內存和性能,是我們在紋理優化中較常使用的功能。一般情況下美術可以出一張更大分辨率的紋理測試效果,然后通過該項設置降低為適合的紋理分辨率。

此值設置為0時,意味著所有平臺上均允許使用該紋理格式的最大尺寸。具體的最大尺寸還取決于所支持的平臺和其硬件能力。例如:對于PC,通常支持較大尺寸,如4096x4096或8192x8192。對于移動設備,最大紋理尺寸可能會更小,例如2048x2048或1024x1024。受某些GPU的支持上限約束,引擎支持的紋理分辨率上限為8192(8K)。

雖然較高的紋理分辨率可以提升圖形質量,但它也會增加顯存的使用和渲染時間。因此,在設置最大紋理尺寸時,需要平衡視覺效果與性能之間的關系。



3. 有損壓縮數量

有損壓縮數量用于控制每個紋理的Oodle Texture RDO Lambda,即影響紋理壓縮質量與文件大小之間的權衡。項目設置中有整體的RDO Lambda級別,如果有必要對特定紋理進行單獨調整可以使用此設置。


此項設置提供的選項包括:默認、無有損壓縮(即禁用Oodle RDO)、最低(Oodle RDO為1)、低(Oodle RDO為10)、中(Oodle RDO為20)、高(Oodle RDO為30)和最高(Oodle RDO為40)。Oodle RDO的值越高代表:紋理質量越差,體積越小。

該設置主要用于調整特定紋理,以滿足項目的需要。例如,在項目整體壓縮數量設定后,某些重要的視覺效果或核心資產可能需要更高的圖像質量,可以通過該項設置針對性調整壓縮品質。

4. ASTC壓縮質量

ATSC是移動端常用的高質量紋理壓縮格式,其壓縮算法與BC7類似。優點是可根據不同圖片選擇不同壓縮率算法,紋理尺寸不需要是2的冪次數,同時支持LDR和HDR,缺點是兼容性不夠完善且解碼時間較長。

“ASTC壓縮質量”指紋理使用ASTC格式壓縮時的質量級別。不同的質量設置會影響紋理的清晰度、細節保留以及壓縮后的文件大小。


“ASTC壓縮質量”的選項包括:默認、最低(12*12)、低(10*10)、中(8*8)、高(6*6)和最高(4*4)。ASTC是基于塊的壓縮算法,12*12至4*4是指壓縮塊中的像素數量,像素數量越小則壓縮質量越高。

5. 壓縮緩存ID

壓縮緩存ID是一個標識符,用于跟蹤和管理紋理的壓縮版本。當你對紋理進行更改(例如更改設置、質量或源文件),并希望這些更改立即生效時,可以使用這個ID。

這一設置常被用于紋理設置更改后觸發重新壓縮,紋理源文件更新時的重新壓縮,消除緩存問題以確保新設置被應用。

6. 烘焙平臺平鋪設置

烘焙平臺平鋪設置允許您選擇紋理在烘焙時的處理方式。這種設置影響紋理在最終渲染階段被提交給GPU的方式。

“烘焙平臺平鋪設置”的選項包括:來自紋理組、烘焙時平鋪和烘焙時不平鋪。

“來自紋理組”是默認選項,此選項將根據紋理所選擇的紋理組來判斷烘焙時是否平鋪。

“烘焙時平鋪”指紋理在烘焙過程中將被處理為平鋪格式,意味著紋理將被重復應用,能夠更有效地利用內存和帶寬。

“烘焙時不平鋪”即紋理在烘焙時將保持線性格式,平鋪將推遲到實際提交給GPU的時候。這樣做的優點是可能會減小在烘焙期間的計算負擔,但可能會在實際渲染時增加GPU的工作量。

所以說硬件平臺的性能是判斷是否烘焙時平鋪的重要因素,例如性能受限的移動平臺應該選擇平鋪紋理,以減少紋理的內存占用。

七、紋理

紋理管線:模型空間位置→投影函數→紋理映射→紋理坐標→通訊函數→新紋理坐標→紋理采樣→紋理值。

1. 二的冪次方模式

二的冪次方模式設置為了確保紋理尺寸符合2個冪次方,如此能更好壓縮紋理并可以開啟Mipmap,這對于提高兼容性和性能非常重要。

“二的冪次方模式”提供了三種選擇:無、填到為2的冪次方和填到為2的冪次方平方。

填到為2的冪次方(Pad to Power of 2):此選項會將紋理的寬度和高度填充至最近的以2為底的冪次方尺寸。這意味著,紋理將被調整為下一個大于或等于當前寬度和高度的整冪數的尺寸。假如原始紋理的尺寸為300x200像素,選擇此選項后,紋理將被填充到512x256像素(下一個以2為底的冪次方尺寸)。

填到為2的冪次方平方(Pad to Square Power of 2):此選項會將紋理填充到最接近的方形以2為底的冪次方尺寸。這意味著紋理的寬度和高度最終將相等,且都是以2為底的冪次方尺寸。如果原始紋理尺寸為300x200,選擇此選項后,紋理將被調整為512x512,確保寬高一致。

所以填到為2的冪次方與填到為2的冪次方平方的區別在于最終生成的紋理是否為正方形。


2. 填充顏色

填充顏色主要是在啟用“二的冪次方模式”后起作用,這項設置可以確保在紋理被二的冪次方模式擴大尺寸時,邊緣區域與原始紋理的外觀相匹配,避免出現不自然的視覺效果。

前面已經解釋了啟用“填到為2的冪次方”、“填到為2的冪次方平方”選項時,UE會將紋理大小調整為最接近的2的冪次方。如果原始紋理的尺寸不是以2為底的冪,調整后會有一些區域需要被填充。此時,就可以使用填充顏色來定義這些新區域的顏色。

3. sRGB

sRGB是紋理非常重要的設置,它指示該紋理及其源圖像是否處于sRGB伽瑪色彩空間。啟用該選項后,UE將在渲染時應用伽瑪校正。

sRGB設置只適用于8位和壓縮格式的紋理,不適用于16位浮點格式的紋理。

如果使用透明通道(Alpha Channel)單獨作為遮罩,建議取消選中sRGB設置,以避免出現顏色和透明度之間的不一致,這可能導致視覺錯誤。

了解sRGB之前需要先明白色彩空間與Gamma校正:

色彩空間包含三個指標:色域(三個基色的坐標,由此形成三角形);Gamma(如何對三角形內進行切分);白點(色域三角形中心)。Gamma其實是如何對色彩進行采樣的一種方式。對色域進行切割的一種方式,均勻切割是線性,sRGB是從外向內先切細,后切粗,對應Gamma值為2.2。


Gamma校正的原因在于我們既需要線性的美術工作流,又需要非線性的顏色存儲和顯示。

線性工作流:如果使用Gamma空間的貼圖,著色器會通過硬件把貼圖顏色數據從Gamma空間轉到線性空間,然后再渲染計算最終顏色值。所以如果希望顏色表現在美術管線中可控、可靠,需要正確使用Gamma編碼及Gamma解碼,包括Substance Painter、PhotoShop、Substance 3D Designer的貼圖制作與導出流程;Unity、UE的顏色空間設置等。如果沒有正確使用線性空間渲染,顏色亮度在疊加混合時會出現錯誤效果。

非線性轉換的目的主要是為了優化存儲空間和帶寬,傳遞函數能夠更好地幫我們利用編碼空間。常用的貼圖存儲格式RGBA32,每個顏色通道只有8位(即8bit)用于記錄信息,且人眼對暗部變化更敏感(韋伯定律),如果要充分利用帶寬,應該要用更多位置存儲暗部值,即暗部使用更高精度保存,亮部使用更低精度保存。

Gamma校正的過程是將輸入的原始圖像顏色數據通過特定的Gamma值校正為目標顏色空間的圖像顏色,以確保圖像在不同的顯示設備上都能得到準確和一致的呈現。


八、紋理-高級

1. X軸平鋪法/Y軸平鋪法

平鋪法指UV值在[0,1]之外的表現模式,即(OpenGL)包裝模式或(DirectX)紋理尋址模式。

紋理的X軸平鋪法設置(X-axis Tiling Method)用于控制紋理在X軸方向上的采樣方式。可以通過此設置來控制材質貼圖在模型上的行為,特別是在紋理重復和邊緣處理時。

紋理的Y軸平鋪法設置(Y-axis Tiling Method)與X軸平鋪法設置類似,用于控制紋理在Y軸方向上的采樣和顯示方式。選擇合適的Y軸平鋪方式可以影響紋理在模型表面上的應用。

X/Y軸平鋪法提供了3種選項:包裹、限制和鏡像。

Wrap(包裹/重復):在此模式下,紋理會在X/Y軸方向上循環重復。這意味著超出紋理邊界的部分會從對面邊緣重新開始。即,如果您將一個紋理從左往右拖動,當拖動超出紋理寬度時,它將從左邊再次出現。一般用于重復的草地紋理或裝飾性圖案,地面或墻壁材質在大規模地圖中較為常見。

Clamp(限制/夾緊):在此模式下,當紋理坐標超出邊界時,紋理將使用邊緣色彩來填充超出部分。即,超出紋理范圍的像素會被限制為紋理的最邊緣像素顏色。一般用于顯示特定邊緣效果的紋理,如邊框或裝飾性邊緣,避免重復造成的視覺干擾。

Mirror(鏡像):在此模式下,紋理會在X/Y軸方向上進行鏡像重復。當紋理坐標超出邊界時,紋理會從對面邊緣反轉過來。例如,1.2位置的像素將與0.8位置的像素相同,造成鏡像效果。適用于需要在設計中引入變化的重復模式,比如墻面裝飾或具有對稱特征的材質。


2. 執行透明度覆蓋Mip縮放/透明度覆蓋閾值

執行透明度覆蓋Mip縮放設置(Do Scale Mips for Alpha Coverage)是控制紋理在使用Mipmap時如何處理透明度(Alpha 通道)的一項重要設置。

透明度覆蓋閾值設置(Alpha Coverage Threshold)是控制透明紋理如何處理像素透明度的關鍵參數。

當啟用“執行透明度覆蓋Mip縮放”時“透明度覆蓋閾值”才可以被設置,“透明度覆蓋閾值”的參數直接控制“執行透明度覆蓋Mip縮放”的效果,即“執行透明度覆蓋Mip縮放”保留在指定的透明度覆蓋閾值(Alpha Coverage Threshold)以上的像素。

這一功能可以看作是與Mipmap相關的衍生設置,當紋理的Mip級別越高時Alpha通道的值會在插值和平均運算下出現擴散,導致本應該透明的部分變為半透或者不透,此時這一功能就會非常有用,通過設定一個透明度閾值,使低于該數值的像素變為透明。

“透明度覆蓋閾值”提供了四個通道(XYZW)可以調整紋理RGBA通道的參數,但一般情況下我們只需要調整W通道對應的Alpha參數。

閾值范圍:

0:表示該通道被禁用,此時不會對該通道的透明度值進行任何比較。


透明度覆蓋閾值(Mip級別5):0

0.5到0.9:這是推薦的典型值范圍。像素的Alpha值高于閾值將被認為是“可見”或“不透明”的,而小于該值的則會被視為“透明”。例如,值為0.5意味著透明度50%及以下的像素會被視為透明,而50%及以上的視為不透明。


透明度覆蓋閾值(Mip級別5):0.7

1.0:通常不推薦使用,因為容易出現錯誤的半透明效果。


透明度覆蓋閾值(Mip級別5):1

這一功能有利于玻璃、煙霧或葉子等透明度變化大的材質,在Mip縮放時正常處理透明度,在不同的距離和視角下保持透明度效果的一致性,能夠幫助減少視覺偽影。

3. 使用快速MipGen過濾

使用快速Mip生成過濾設置(Use New Mip Filter)是一個影響Mipmap生成過程中紋理質量和性能的重要選項。當啟用此選項時,渲染引擎將使用一種更快速的Mip生成過濾算法。這個算法通常會產生與傳統方法相似的結果,但在某些情況下,它可能會導致顏色的偏移(Chroma Shifts,如有這一情況可以考慮禁用該選項以恢復到使用普通的過濾算法)。

快速Mip生成算法可以減少Mip圖生成的計算量,從而加快紋理加載和渲染的速度。這對于需要大量紋理且對性能要求較高的項目非常有用。

4. 翻轉綠通道

當啟用此選項時,紋理的綠通道(Green Channel)將被翻轉。具體來說,它將紋理G通道的值從[0, 1]范圍內的值轉換為[1, 0]范圍內的值。

這一功能常用于法線貼圖,法線紋理的綠通道通常表示Y軸的法線方向。在不同的引擎或工作流程(例如,Unity、Maya、3ds Max、Blender等軟件)中,Y 軸的定義可能有所不同。因此,當從這些應用程序導入法線貼圖時,需要翻轉綠通道以確保法線方向的正確性。


5. 過濾器

紋理的過濾器設置決定了在采樣紋理時使用的過濾模式。這一設置直接影響紋理在渲染時的清晰度、視覺質量以及性能表現。一般情況下保持默認設置就可以,即來自紋理組(Texture Group)。

Nearest(最近):最近過濾是一種最基礎的紋理過濾方法。它直接取源紋理中與每個像素最接近的紋素值,而不會進行平滑處理。

優點:處理速度快,渲染性能高,適合像素風格的游戲或需要保持原始紋理風格的場景。

缺點:可能導致鋸齒邊緣和明顯的塊狀效果,不適合需要高質量紋理的場合。

Bi-linear(雙線性):雙線性過濾通過對相鄰四個紋素進行加權平均來平滑紋理的邊緣,從而減少鋸齒現象。

優點:在性能和視覺質量之間提供良好的平衡。適合大多數情況,包括2D UI和一些3D紋理。

缺點:在尺寸變化較大(如縮放)的情況下,仍可能出現模糊的效果。

Tri-linear(三線性):三線性過濾是在雙線性過濾的基礎上增加了對Mip貼圖的支持。它先根據距離選擇合適的Mip級別,然后對兩個相鄰Mip級別應用雙線性過濾。

優點:提供更平滑的過渡效果,并減少Mip尺寸變化帶來的不自然感,適合需要高質量紋理的情況。

缺點:相較于其他過濾選項,計算開銷更大,對性能影響較明顯。

Texture Group(默認,自紋理組):選擇此項時,將使用材質的紋理組設置。這意味著UE會根據紋理組的類型(如UI、場景、角色等)自動選擇適合的過濾模式。

優點:提供靈活性,能根據不同的用例自動優化紋理的采樣策略,適合對紋理組有預設的項目。

缺點:在某些特定情況下無法做到完全的自定義控制。


6. Mip加載選項

Mip加載選項用以設置如何加載紋理的不同Mipmap級別。

Default(默認):將使用紋理的LOD組設置來決定Mip的加載方式,根據紋理類型和使用情境自動選擇最合適的Mip加載策略。能夠適應不同場景和性能需求的自動優化,適合大多數情況。

All Mips(所有 Mip):啟用此選項后,所有Mip級別的紋理都會被加載到內存中,無論是否需要使用它們。可以確保任何距離和縮放情況下都能得到最佳的視覺效果,但會導致更高的內存消耗和可能增加的加載時間,因此需要謹慎考慮啟用。

Only First Mip(僅首個Mip):啟用此選項后,僅加載紋理的第一個Mip級別。通常情況下,第一個Mip級別是紋理的全分辨率版本。能夠顯著降低內存使用量和加載時間,但在縮放或遠離相機時可能會明顯失去細節,可能導致視覺質量降低。

7. 創建Mips后標準化

創建Mips后標準化設置只對法線紋理生效,對于非法線紋理該項設置顯示灰色不可設置。該設置的主要作用是標準化法線貼圖中的顏色信息,以保障在生成Mip貼圖后法線的準確性和清晰度。

在為法線貼圖生成Mips時,法線會被混合,會導致遠距離Mip級別的法線細節喪失,從而顯示出更加平坦或模糊的視覺效果。開啟此設置后,即使在較遠的視距下,法線貼圖的細節仍將保持清晰和準確,避免遠處的法線圖像變得軟化。

這種由于Mip生成引起的軟化效果,與通過合成法線轉換為粗糙度所做的有意軟化是不同的。后者是為了藝術效果而設計,而此設置則是為了保持貼圖的真實性能。

此設置只影響較低的Mip級別,而不會影響頂層Mip級別(即最高分辨率的紋理)。這意味著在近距離觀察時,法線細節將不受影響。

8. sRGB使用舊有伽馬

sRGB使用舊有伽馬設置(sRGB Use Legacy Gamma)主要用于控制紋理在處理sRGB色彩空間時的轉換方式。

啟用此設置適用于那些需要保持與早期UE版本兼容性的項目,保持舊的伽馬設置可確保顏色輸出的一致性。大多數情況下建議不要啟用該選項,而是使用更先進的線性色彩管理,以獲得最佳的視覺效果。

9. 源顏色設置

紋理的源顏色設置是對紋理顏色管理的關鍵配置。提供了關于紋理編碼和顏色空間的重要選項,以確保顏色在渲染過程中的準確性和一致性。

編碼重載(Encoding Override)

允許開發者指定紋理的源編碼格式,而不僅限于默認的sRGB編碼。通過這一選項,用戶可以選擇更適合特定需求的紋理編碼,例如使用線性編碼(Linear)或其他自定義編碼方式,選擇正確的編碼對于保持顏色信息的完整性和準確性非常重要。


顏色空間(Color Space)

允許用戶定義紋理的源顏色空間。不同的顏色空間(如sRGB、Adobe RGB、Linear RGB等)具有不同的色彩呈現特性和色域表現,確保從外部圖像編輯軟件導入的紋理在UE中顯示的顏色與原始意圖一致。


RGBA色度坐標(RGBA Chromaticity Coordinate)

當“顏色空間”設置為“自定義”時可用,允許用戶為源顏色空間的每個顏色通道(紅色、綠色、藍色和白色)單獨指定色度坐標。通過精確指定色度坐標,用戶能夠更好地控制顏色的表現。

顏色適應方法(Chromatic Adaptation Method)

當源白點(White Point)與工作顏色空間的白點不同時可用,選擇一種色度適應方法,能夠確保顏色在轉換過程中保持一致。在不同的色彩空間和顯示設備中,白點的變化可能導致顏色失真。應用適當的色度適應方法可以解決這些問題,從而使最終渲染的圖像展現出準確和自然的色彩。

10. 資產用戶數據

紋理的資產用戶數據設置提供了一種靈活的方式,讓開發者可以為每個紋理資產附加自定義數據。這些數據可以是任何與紋理相關的信息,用于組織、分類或存儲特定的元數據。


九、調整


紋理的調整設置允許開發者以非破壞性的方式(即在不更改源紋理的情況下控制視覺效果)對紋理進行多種顏色和視覺效果的調整,而無需離開紋理編輯器。這種功能非常適合快速迭代和效果試驗,能夠有效提高工作效率。


十、文件路徑

源文件

此處會顯示源紋理資產的路徑與創建時間,可以通過這種方式重新導入新的紋理資產。

十一、復合

1. 合成紋理

合成紋理僅對粗糙度紋理或者帶有粗糙度通道的紋理有效,輸入的參數為法線紋理(與粗糙度紋理相同大小或更高的分辨率)。它的功能是根據法線的變化來修改粗糙度紋理的粗糙度數值,即法線紋理中的高度變化可以影響表面的光滑度,從而使其在渲染時更加真實。

合成紋理會根據法線紋理的變化使粗糙度紋理變得更粗糙,即粗糙度值更高,紋理更亮。

這一功能還可以用于為沒有粗糙度的紋理在引擎內直接生成與法線對應的粗糙度紋理通道,例如,先把一張只有RGB通道的紋理設為BC7格式得到一個純白色的Alpha通道,然后在“調整-最大透明度”設置中把Alpha通道的數值1映射到更小的數值,最后在“復合紋理”中引用對應的法線貼圖,如此該張紋理的Alpha通道就變成了粗糙度信息。

2. 合成紋理模式

指定復合紋理(法線貼圖)用于修改紋理的哪個通道(R、G、B或A),即對應紋理的粗糙度通道。

3. 合成冪

確定復合紋理(法線貼圖)對目標通道(粗糙度通道)的影響程度。 [1:默認,<1減少影響,>1增加影響]。


十二、細節/Oodle面板

1. 紋理細節



2. Oodle 面板

展示了關于當前選定紋理的壓縮設置和參數,以及壓縮后的紋理在磁盤上占用空間的預覽。這些設置決定了紋理在壓縮過程中的表現,包括壓縮比率、畫質、性能等。用戶可以快速查看和調整影響紋理壓縮效果的參數,以確保最佳的視覺效果和存儲效率。

1. Oodle紋理編碼信息


這部分顯示了當前紋理的編碼狀態,包括使用的壓縮算法類型、編碼參數以及是否啟用了不同的功能,例如Rate Distortion Optimization (RDO)。可以幫助用戶快速了解紋理是如何被壓縮的,特別是在實際應用中的表現如何。


2. 嘗試編碼


嘗試編碼可以在編輯器中實時調整各種紋理編碼參數,然后查看這些調整對紋理的直接影響,適合在開發過程中優化和驗證紋理質量。

需要注意的是,嘗試編碼中的更改將不會被保存,即此功能主要用于實時驗證和調整,而不是進行最終保存或應用。


3. 磁盤容量


“磁盤容量”顯示了在項目的壓縮設置下,經過RDO編碼的紋理文件在磁盤上的大小,以模擬實際項目打包時的壓縮效果。可以與“嘗試編碼”部分的設置結合使用,以更全面地了解不同RDO Lambda/投入/通用平鋪參數的設置對應的壓縮優勢。


十三、其他

1. 材質中的紋理設置

字體紋理采樣:

字體可以被看做是一張獨特的紋理,它同樣可以在紋理編輯器中打開設置。材質中與字體直接相關的節點有FontSample和FontSampleParameter。

FontSample能夠從字體資源中將紋理頁面采樣為常規2D紋理,字體輪廓值儲存在Alpha通道,通常需要連接在“不透明蒙版”。

Font參數用于設置要使用的默認字體資產;Font Texture Page指定當前使用的字體紋理頁面。

FontSampleParameter是FontSample的參數化節點,二者用法相同。



場景顏色:

Scene Color材質節點可以看作是當前屏幕空間的RT紋理。


紋理采樣/2D紋理采樣參數/立方體紋理采樣參數:

TextureSample節點的主要功能是從給定的紋理中輸出顏色值,支持多種類型的紋理,例如2D紋理、立方體紋理(Cubemap)和電影紋理(Movie Texture)。


TextureSample主要參數包括:


1. Mip值模式

該設置用于確定如何計算紋理的“MIP”級別,有四種模式可供選擇:

  • 無(None):使用默認的硬件計算Mip等級。

  • Mip等級(絕對):指定要使用的特定Mip級別,0Level為完整分辨率。

  • Mip偏差(相對):偏移硬件計算的采樣Mip等級,選擇此項后節點會有“Bias”輸入,可以直接輸入數值增減MipLevel,此功能與紋理的LOD偏移類似。

  • 導數:手動計算Mip級別,允許使用DDX(UVs)和DDY(UVs)作為輸入。在這種模式下,性能可能會受到影響,不過在某些情況下能夠提供更高的靈活性。

2. 采樣器源

此項設置的選項包括:自紋理資產、共享:包裹和共享:限制。如果選擇“自紋理資產”紋理采樣器則根據紋理中的平鋪設置進行采樣,如果選擇“共享:包裹”或“共享:限制”則替代紋理中的設置,以設定此紋理采樣器所引用的所有紋理按照此處設定處理平鋪模式。

3. 自動查看Mip偏差

啟用時材質會在每個視圖中基于相機位置和角度動態調整Mip級別。這種偏差會增加或減少被采樣紋理的Mip級別,以增強清晰度和改善動態效果,尤其是在使用時間抗鋸齒時。

4. 常量坐標

當節點的UV輸入沒有連入時,可以在此設置UV的坐標索引。

5. 常量Mip值

當Mip值模式設為Mip等級(絕對)時,此設置可用,輸入的數值與MipLevel對應。

6. 紋理

指定表達式所取樣的紋理。要設置紋理,請先在“內容瀏覽器”中選擇紋理。然后,在此表達式的屬性窗口中選擇“紋理(Texture)”屬性,并單擊“使用當前選擇(Use Current Selection)”按鈕。

7. 采樣器類型

采樣器類型(Sampler Type)設置直接影響紋理采樣的方式以及輸出數據的類型。這一設置確定了你希望從紋理中獲取什么樣的數據,例如顏色、法線信息或深度等。正確選擇采樣器類型能夠確保材質在渲染時表現出預期的效果。

常用的采樣器類型包括:

Color(顏色):

這是最常用的采樣器類型,適用于常規的顏色紋理。從紋理中提取的是RGB(紅、綠、藍)值,通常用于基礎的漫反射材料或其他需要顏色信息的場景。

Normal(法線):

該設置用于法線貼圖(Normal Map)。法線貼圖包含法線信息,用于在模型表面上創建細節和凸起效果。通過正確的法線數據采樣,能夠增加模型的細節感,使得光照計算更為準確,從而增強表面的真實感。

8. 為默認網格體繪制紋理

在使用網格繪制模式時啟用該選項,相關紋理將自動被加載為當前選擇的紋理。

2D紋理采樣參數(TextureSampleParameter2D)節點是TextureSample節點的參數化形式,功能和參數設置均相同,區別在于2D紋理采樣參數節點可以在材質實例或者通過藍圖/代碼修改的材質參數。

立方體紋理采樣參數(TextureSampleParameterCube)節點是TextureSample節點的參數化形式,功能和參數設置均相同,區別在于立方體紋理采樣參數節點可以在材質實例或者通過藍圖/代碼修改的材質參數。且與不同2D紋理采樣參數節點,它只接受立方體貼圖。

精靈紋理采樣器:

精靈紋理采樣器節點可自動將特定的精靈紋理傳遞給材質,當材質應用于帶有精靈資產的對象時,這個節點能確保使用與該精靈資產相關聯的紋理,方便我們在材質中為精靈添加特殊的效果。

它的參數與普通紋理采樣器的基礎參數相同,額外的“采樣額外紋理/額外插槽索引/插槽顯示名”可以實現在材質中采樣多張額外的源紋理。



下圖為精靈紋理材質的放置位置以及源紋理與額外紋理。


紋理對象/紋理對象參數:

TextureObject節點的主要作用是創建一個可用作紋理函數輸入的紋理引用,在材質函數中將某個紋理對象與TextureSample節點結合使用,從而實現對該紋理的實際采樣。它的參數與普通紋理采樣器的基礎參數相同。

紋理對象參數(TextureObjectParameter)節點是TextureObject節點的參數化,通過將紋理設為參數可以調整材質實例的外觀而無需重編譯整個材質,也可以提供給其他材質節點(如材質函數)使用。


紋理屬性:

TextureProperty用于訪問和管理紋理屬性,包括紋理的尺寸、紋理的紋素大小。

1. Texture Size(紋理尺寸)

即是紋理的分辨率,比如寬度和高度(以像素為單位)。可以用它來判斷紋理的細節程度及性能影響。

2. Texel Size(紋素大小)

Texel是紋理中單個像素的單位,Texel Size提供了紋理的一組空間數據,可用于在計算中調整紋理效果。尤其在進行UV操作、顯示貼圖或進行動態范圍調整時。

粒子SubUV紋理采樣/SubUV紋理采樣參數:

ParticleSubUV是一個專為粒子系統設計的紋理子圖像采樣材質節點,它使用的是與Flipbook相似的算法。它的優點在于特效美術師可以動態地調整播放速度、循環方式、起始幀和結束幀等設置,常用于火焰、煙霧、動畫等特效的實現。


同樣的,它的參數設置與普通紋理采樣器一樣,SubUV紋理采樣參數(TextureSampleParameterSubUV)是粒子SubUV紋理采樣(ParticleSubUV)節點的參數化形式。

2. 引用查看器

引用查看器是非常實用的項目資產管理與故障排查工具,它以圖形形式展示了一個或多個資產之間的引用關系,能方便地查看不同資產之間的依賴,幫助維護資產,避免不必要的丟失或冗余。

在UE中如果一個資產(Asset)以某種方式使用了另一個資產,我們稱第一個資產引用了第二個資產。并且它們的引用關系是單向的(單向依賴),被引用的資產不反過來引用其引用者。


對于紋理來說,引用查看器方便查看哪些紋理資產被使用,并直觀地找到它們的引用對象,它的好處主要有:

1. 通過查看紋理是否存在引用關系,以清理未使用的紋理資產。但此方法并非100%準確,有些紋理的引用方式是通過表格填寫紋理資產地址,引用查看器不能識別此類資產引用。

2. 通過引用查看器可用快速定位到引用紋理的資產的文件目錄,或者快速定位資產使用的紋理所在目錄。

3. 可用于快速排查故障,例如,材質實例引用的紋理不僅包括材質實例使用中的紋理,還包括材質實例母材質中使用的默認紋理。如果這些紋理有一些不在項目打包文件目錄中會出現報錯,特別是母材質中使用的紋理具有隱蔽性。此外,因為材質實例會加載母材質中的默認紋理,所以為降低不必要資產的加載,建議使用小尺寸的占位符貼圖來解決這個問題。

3. 屬性矩陣批量編輯

屬性矩陣(Property Matrix)可以在處理多個對象時進行批量編輯,提供了一種更簡便的工作流程,允許在一組對象上設置多樣的屬性值,而不必為每個對象單獨調整,節省了大量時間。它可以處理數千個對象的編輯操作,非常適合大規模場景或復雜項目的管理。

屬性矩陣支持數組和結構體類型的屬性,能夠直接在表格中編輯復雜的對象屬性,可以為任何屬性暴露列,便于快速查看和編輯。這意味著屬性矩陣可以批量修改紋理編輯器中的所有紋理設置,在對大量紋理進行性能優化,效果提升,設置更改時,這一工具可以進行批量處理,不僅提升了效率,還提升了操作的準確率。


4. UV編輯器

UV編輯器是UE5中的一項新功能,專門用于創建,修改和檢查UV。UV編輯器提供了更具交互性的2D視圖,可以對UV進行更精細的編輯,實現在引擎內解決紋理與UV布局相關的問題。它提供的強大功能包括:縫邊、UDIM管理和多資產工作流等。

在內容瀏覽器中找到相應的網格,右鍵選擇以打開UV編輯器。


5. 尺寸貼圖

尺寸貼圖(SizeMap)用于直觀展示資產及其引用內容的大小和占用空間,具備交互性與可視性。雖然它的中文名字中有貼圖,但是它的使用對象是所有類型的項目資產,貼圖指的是它的數據呈現方式(TreeMap圖)。

通過SizeMap,可以清晰地了解哪些資產占用了過多的內存或存儲空間,這有助于識別不必要的資源,進行清理和優化。它不僅展示了資產本身的大小,還會顯示該資產所引用的其他資產的大小。這可以找出不同資產間的依賴關系,以發現性能瓶頸的主要問題,解除不必要的資產引用,從而更有效地管理和優化這些資源。

紋理在使用SizeMap評估內存大小與磁盤大小時有助于快速發現性能和包體瓶頸,例如,當內存大小大于磁盤大小時說明紋理的壓縮存在問題。


參考

UE5文檔官網

技術美術百人計劃

文末,再次感謝 RE-Ding 的分享, 作者主頁: https://www.zhihu.com/people/ding-yan-qing-75, 如果您有任何獨到的見解或者發現也歡迎聯系我們,一起探討。(QQ群: 793972859 )。

特效的GPU壓力該如何解決?

近期精彩回顧

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
澳洲少年圍毆中國退役女兵遭反殺,抓頭發扇巴掌,圍觀路人引熱議

澳洲少年圍毆中國退役女兵遭反殺,抓頭發扇巴掌,圍觀路人引熱議

南宗歷史
2025-06-18 12:36:11
曝山東一公安領導出軌多名女性,畫面流出,身份被扒,繼女發聲

曝山東一公安領導出軌多名女性,畫面流出,身份被扒,繼女發聲

博士觀察
2025-06-17 18:04:25
丑聞!前亞洲一哥、日本網球巨星被曝婚內出軌,女方顏值爆表

丑聞!前亞洲一哥、日本網球巨星被曝婚內出軌,女方顏值爆表

大秦壁虎白話體育
2025-06-18 17:24:36
李月汝前男友正式加盟!天賦確實不錯,但不夠自律!

李月汝前男友正式加盟!天賦確實不錯,但不夠自律!

德譯洋洋
2025-06-18 13:27:41
阿斯:巴薩認為羅梅烏已無轉會價值,將與球員協商解約?

阿斯:巴薩認為羅梅烏已無轉會價值,將與球員協商解約?

懂球帝
2025-06-18 22:54:01
最新民調出爐,賴清德敗局已定,館長:我是中國人!朱立倫尷尬了

最新民調出爐,賴清德敗局已定,館長:我是中國人!朱立倫尷尬了

新語愛八卦
2025-06-18 17:47:57
世俱杯2-0!中超的高光時刻:他和金球獎先生、兩個億元先生同框

世俱杯2-0!中超的高光時刻:他和金球獎先生、兩個億元先生同框

bwb足球算個球
2025-06-19 02:34:09
廣西玉林涉黑案庭審中多名被告人下跪,稱“指居”是人間地獄,求對偵查人員啟動刑訊逼供調查

廣西玉林涉黑案庭審中多名被告人下跪,稱“指居”是人間地獄,求對偵查人員啟動刑訊逼供調查

天下說法
2025-06-18 23:18:28
35歲中國炒面館老板涉嫌殘殺巴西18歲少女!放比特犬啃尸

35歲中國炒面館老板涉嫌殘殺巴西18歲少女!放比特犬啃尸

吃瓜體
2025-06-17 13:42:41
哈梅內伊對伊朗全國講話

哈梅內伊對伊朗全國講話

澎湃新聞
2025-06-18 18:32:14
中國大批飛行員將面臨下崗?中國六代戰機出現大問題:過于先進!

中國大批飛行員將面臨下崗?中國六代戰機出現大問題:過于先進!

顧史
2025-06-18 20:05:45
東大的中東戰略失敗了嗎?

東大的中東戰略失敗了嗎?

談芯說科技
2025-06-17 21:55:49
拐點出現,以色列部長破防,當眾咆哮:我們沒想到伊朗導彈這么強

拐點出現,以色列部長破防,當眾咆哮:我們沒想到伊朗導彈這么強

獵火照狼山
2025-06-18 20:55:13
成都市金牛區人大常委會原黨組書記、主任何維楷被查!

成都市金牛區人大常委會原黨組書記、主任何維楷被查!

魯中晨報
2025-06-18 17:10:03
哈梅內伊強硬發聲:永不妥協!特朗普警告:我知道他身在何處,我們的耐心正在耗盡!美國要空襲?美股全線殺跌

哈梅內伊強硬發聲:永不妥協!特朗普警告:我知道他身在何處,我們的耐心正在耗盡!美國要空襲?美股全線殺跌

每日經濟新聞
2025-06-18 10:28:43
湖人隊詹姆斯就2028年洛杉磯奧運會發表堅定立場:看不到這會發生

湖人隊詹姆斯就2028年洛杉磯奧運會發表堅定立場:看不到這會發生

好火子
2025-06-19 02:27:08
玩脫了?前老板舉報李雪琴欠190萬,網友:喜歡吳簽的能是好人?

玩脫了?前老板舉報李雪琴欠190萬,網友:喜歡吳簽的能是好人?

同知
2025-06-18 15:55:23
特朗普騎虎難下,美若對伊朗動武,或將為中國提供新一輪戰略機遇

特朗普騎虎難下,美若對伊朗動武,或將為中國提供新一輪戰略機遇

博覽歷史
2025-06-17 11:35:30
“把套子戴上吧”,考研女孩一句禮貌提醒,卻變成現實版農夫與蛇

“把套子戴上吧”,考研女孩一句禮貌提醒,卻變成現實版農夫與蛇

熙熙說教
2025-06-18 19:43:25
多地“國補”暫停?國家有關部門:剩余支持資金將有序下達

多地“國補”暫停?國家有關部門:剩余支持資金將有序下達

新京報
2025-06-18 14:58:04
2025-06-19 03:07:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戲/VR性能優化平臺
1455文章數 984關注度
往期回顧 全部

科技要聞

別叫我互聯網公司,京東的野心藏不住了

頭條要聞

男子4S店買法拉利3年提不了車 店方:想退款先幫忙賣車

頭條要聞

男子4S店買法拉利3年提不了車 店方:想退款先幫忙賣車

體育要聞

36歲鄧卓翔率隊9輪拿17分 從墊底升第9

娛樂要聞

前老板舉報李雪琴欠190萬轉移公司財產

財經要聞

被爆添加毒原料后相宜本草高管先后出走

汽車要聞

燈光技術升級還有插混版本 全新奧迪Q3預計明年國產

態度原創

教育
健康
數碼
藝術
游戲

教育要聞

AI填志愿神器來了!輕松打破信息差,填出你的專屬完美志愿

呼吸科專家破解呼吸道九大謠言!

數碼要聞

盧偉冰:期待將來和海爾、美的成為大家電頭部企業,共推行業發展

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

誠意十足的視覺盛宴!300萬銷量的《劍星》PC版到底值不值得入?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 石楼县| 山西省| 鄯善县| 安溪县| 昌平区| 柳河县| 克拉玛依市| 武隆县| 朝阳区| 德昌县| 龙山县| 威信县| 炉霍县| 洛扎县| 始兴县| 五华县| 通许县| 陈巴尔虎旗| 轮台县| 兰州市| 沅江市| 鹰潭市| 济阳县| 十堰市| 石楼县| 长武县| 夏津县| 互助| 电白县| 洪泽县| 贵南县| 贵德县| 四会市| 门头沟区| 米易县| 阜新市| 台北市| 云安县| 崇礼县| 尼木县| 阜阳市|