Matter

一張以程序化方式建構 PBR 材質的節點圖:不受解析度限制、可以重新調整,並能匯出成一整套貼圖。

一句話說明#

把程序化節點接在一起,另一端就會得到一個完整的 PBR 材質:基礎色、粗糙度、金屬度、法線、高度、AO 和自發光,解析度任你指定。

版面配置#

Matter:節點庫、節點圖、2D 通道預覽和 3D 預覽

選單列File · Edit · Graph · View · Help · Plugins
節點圖分頁一個分頁對應一個材質,+ 可以新增一個
工具列選取、平移、縮放、縮放至符合、新增節點、連接、取景、復原/取消復原、格線
左側可搜尋的節點
中央節點圖
右側選取節點的屬性
左下2D 預覽,每個 PBR 通道各一個分頁
右下3D 預覽

你在這裡做什麼#

建構節點圖#

三個節點接到一個基礎色輸出上,每個節點都會預覽自己

把一個節點從庫裡拖進來,或是從工具列新增它,然後把 Output → Input(輸出接輸入)連起來。每個節點都會在自己身上預覽自己,所以節點圖同時也是一張總覽表:不需要選取,就能看到每一步做了什麼。

節點庫是分組的:

色彩Color · Gradient · Bitmap(載入 PNG/JPEG)· Uniform Color · SVG
雜訊Noise(Perlin/碎形)· Clouds(碎形絕對值總和)· Anisotropic Noise · Grunge Map · White Noise · Blue Noise
圖樣Checkerboard · Wood Rings · Shape ·……
濾鏡、調整與工具色階、混合、模糊、由高度生成法線,以及其他
輸出每個 PBR 通道各一個

Recent(最近使用)會把你最近用過的節點放在最上面,而那通常正是你接下來會用到的。

連接到通道#

一個 Output 節點就是一個 PBR 通道的目標:把它的 Channel(通道)設定為 baseColorroughnessmetallicnormalheightaoemissive。當你在意的每一個通道都有一個 output 餵給它時,這個材質就完成了。

調整節點#

屬性面板會給每個節點它的基本參數、它的函式綁定(由運算式驅動、而不是固定值的參數),以及它的解析度模式:預設為 Inherit(繼承),所以在節點圖層級改一次,整個材質就會以新的尺寸重新算圖。它還會回報節點的上次求值時間,這是在一個很慢的節點圖裡找出耗時步驟的方法。

Save to library(儲存到庫)會把一個節點,或是你建立的一個子圖,變成可以重複使用的東西。

檢視結果#

正在建構的材質的 2D 與 3D 預覽

2D 預覽一次顯示一個通道,附有縮放和直方圖。3D 預覽會把材質算圖在一個 mesh 上:球體、立方體、圓柱體、環面、平面,或是你自己的 mesh。選擇一個環境(HDRI Studio、Soft、Warm、Sky,或是 Studio/Outdoor/Sunset 預設),設定細分程度與邊緣,並把 UV 以 1×、2× 或 4× 重複顯示,檢查材質實際重複時有沒有接縫。

右側面板,五個分頁#

分頁
Properties選取節點的參數
Parameters節點圖的暴露參數:這個材質提供給使用者調整的旋鈕,而不是給建構它的人用的
Graph節點圖層級的設定
Variants同一張節點圖產生的多個材質版本
Library節點與預設庫

節點檢視器

當一個掃描工作階段開啟時,會出現第六個分頁:Material Scan(材質掃描)。

暴露參數#

一個有暴露參數的材質,不再是一張固定的貼圖,而是變成一個控制面板:鏽蝕量、木板寬度、磨損程度。這正是讓一張節點圖能供應一整套材質的原因,也是為什麼要在 Matter 裡建構,而不是只手繪一次結果。

Material Scan#

一張真實表面的照片,會在這裡變成一個材質,而且因為這個擷取結果可以重新發布,它有自己的一個章節

節點庫,用數字說話#

兩百零三個節點,分成二十三個類別。這份清單的樣貌,就說明了 Matter 是什麼:

節點庫:一個搜尋欄、最近使用的節點,接著是各個類別,每個節點都會預覽自己

類別類別
濾鏡44模糊6
產生器34變形6
工具226
調整18色彩5
圖樣16烘焙5
效果9法線4
雜訊6分析4

另外還有漫地填色(4)、通道(3)、材質(3)、散布(2)、混合(2),以及腳本、動態、輸出和庫各一個。

濾鏡的數量超過產生器,這正是重點:一個程序化材質主要是處理,雜訊只是簡單的那一部分,真正讓它讀起來像木頭或鏽鋼的,是後續那四十四種推敲它的方式。

script(腳本)節點是應付另外兩百個節點都覆蓋不到的情況時的逃生門,而 bake(烘焙)節點則是把一個昂貴的分支變成一張儲存好的影像,好讓節點圖其餘的部分保持互動性。

Material Scan,當照片重新發布時會發生什麼事#

一個在 Inkwell 裡準備好的 Surface Capture(表面擷取),抵達這裡時是一張節點圖,而不是一張扁平的影像:掃描會建構出這些節點,Material Scan guide(材質掃描導引)則會一步一步帶你看它建構了什麼,指出每一步對應的節點,並把每個輸出標記為手動衍生

有意思的情況是第二次。當同一個擷取結果從 Inkwell 重新發布時,Matter 會注意到,它知道自己手上的版本,也知道剛送達的版本,於是它會詢問:

選項
Update the source(更新來源)把新照片帶進既有的節點圖
Create a variant(建立變體)兩個都保留
Ignore(忽略)不動這張節點圖

更新只會取代來源節點。 你在下游新增的每一個節點、你改過的每一項設定,都會維持原樣不動。正是這個保證,讓重新拍攝一個表面變得安全:你在掃描結果之上做的工作,並不是被取代的東西。

如果這個擷取結果其實什麼都沒變,對話框也會直接這麼告訴你,而不必讓你自己比對。如果擷取結果缺少了它需要的東西,它會指名缺了哪些欄位,而不是建出一張做到一半的節點圖。

匯出材質#

有三種不同的東西會從 Matter 輸出,它們並不能互相替代:

PBR 貼圖每個通道各一張影像:baseColor、roughness、metallic、normal、height、AO、emissive,格式為 PNG、JPEG、HDR、TGA 或 TIFF
一個 .matter 封裝檔節點圖加上它的貼圖,讓材質保持可編輯
glTF / GLB,以及 MaterialX以其他軟體期望的格式呈現的材質

只有已連接的輸出會被匯出;面板會顯示「no connected outputs」(沒有已連接的輸出),而不是寫出空白檔案,並且會用數字回報成功與失敗的項目。

讀寫的檔案格式#

原生格式.matter(節點圖,或連同貼圖的封裝檔)
匯入.png.jpg(Bitmap 節點)、SVG(SVG 節點)、來自 Inkwell 的 Surface Capture
匯出PBR 貼圖,格式為 PNG、JPEG、HDR、TGA、TIFF;glTF / GLB;MaterialX

送去其他工作室#

產出一個 PBR 材質組,以及一張扁平影像。接收影像、像素畫,以及來自 Inkwell 的表面擷取。

這個材質組可以被 PigmentSculptEngine 直接理解:通道抵達時已經對應到正確的欄位,而不是七張你得自己重新接上的散裝 PNG。

與別人協作#

Matter 會同步整份文件,做防抖動處理,而不是逐一節點同步。一張材質節點圖是個很小的物件,儲存端也不保留操作紀錄,所以完整同步只是誠實反映這一點:後寫入者覆蓋先寫入者。兩個人應該處理不同的節點圖分頁,而不是同一個。

限制與常見問題#

  • 一張慢的節點圖,通常是某一個節點慢。 屬性面板會回報每個節點的上次求值時間;在把所有東西的解析度都調低之前,先去那裡看看。
  • 解析度是繼承而來的。 如果一個節點被釘選在固定尺寸,它就不會跟著節點圖層級的變動改變,檢查它的解析度模式。
  • 重複貼圖的問題會出現在 3D 預覽,而不是 2D 預覽。 在宣告一個材質完成之前,先把重複係數設為 2× 或 4×。
  • 一個 Bitmap 節點不是程序化的。 不管你用什麼解析度算圖,它都只會和你給它的檔案一樣清晰。