Home / 3D藝術 / 概述: 索引材質貼圖技術

概述: 索引材質貼圖技術

概述:索引材質貼圖技術

Artem Krizhanovskiy展示了索引材料映射方法,該方法允許他通過對來自預定義LUT的所有材料數據進行採樣來增加細節而不會造成內存損失。

介紹

這種方法的主要思想是減少壓縮偽像,增加所有PBR通道的細節,獲得高度可自定義的陰影,而內容沒有任何變化,最後減少內存。 

方法

我不使用直接紋理化方法,而是依靠基於材料的方法,其中使用漸變(磨損或狀況)和材料,我們可以從預定義的LUT中採樣所有材料數據。

唯一的輸入是:

-4通道全尺寸漸變ID映射,已壓縮

-完整的切線或對象空間法線貼圖,已壓縮

-16×16反照率,重新繪製LUT,未壓縮

-16×16金屬,粗糙度LUT,未壓縮

漸變紋理:R-環境光遮擋,G-材質ID,B-細節ID,A-漸變

材質LUT1:RGB-反照率,A-重塗遮罩| 未壓縮,無mip-map

材料LUT2:R-金屬,G-粗糙度,BA-空| 未壓縮,無mip-map

基本上,在讀取“材質LUT”紋理時,漸變用作U,材質ID貼圖用作V:texture(materialLUT_sampler,vec2(gradient,material_ID))

從示意圖上看,它看起來像這樣:

該過程非常簡單,可以使用代碼或基於節點的編輯器(例如Substance Designer或Unreal Engine)進行複制:

該模型包含16種材料:

重塗:

在這種情況下,其他的迷彩圖案紋理將用作重繪顏色。

重新繪製的想法是基於反向混合。眾所周知,平凡的線性插值看起來像這樣:

結果= C_base *(1-alpha)+ C_paint * alpha

我們可以得出C_base:

C_base =(結果-C_paint * alpha)/(1-alpha) 

並將其與新顏色混合:

結果= C_base *(1-alpha)+ C_repaint * alpha

 

細節決定成敗

詳細(頂部)圖像的紋理像素密度高16倍,而內存僅重11%。

這種方法的程序性質使我可以將完整的PBR細節集應用於模型,該模型適用於所有材質和重新繪製選項。細節圖由16個圖塊組成,並具有一組細節法線和細節漸變。Detail_ID映射用於定義哪個圖塊用於細節。我建議將BC7紋理格式與RG中的普通R和G通道以及B中的漸變一起使用。代碼中需要進一步恢復普通B通道。您可能會注意到一些細節是空白的,因為我不需要此模型上的16個細節。

您可以看到更改detail_ID如何影響表面:

Check Also

女獵手: 在 Maya、ZBrush 和 Substance 3D Painter 中對 3D 角色進行建模和紋理化

https://80.lv/a …

80 Level Digest: 洞察日本遊戲設計——與才華橫溢的開發者訪談

80 Level Digest: 洞察日本遊戲設計——與才華橫溢的開發者訪談

https://80.lv/a …

使用 Blender 和 Substance 3D Painter 創建 Star Wars Blaster

使用 Blender 和 Substance 3D Painter 創建 Star Wars Blaster (爆能槍)

https://80.lv/a …

發佈留言