實質圖中的繼承
本頁說明繼承如何在 Substance 3D Designer🔗 中應用於 Substance 圖,以及繼承對圖的輸出影響。
概觀
Substance 圖中的所有節點都可以 繼承 來源的某些參數值。 繼承意指改變來源值會 帶動所有繼承節點的變更 。 這是 Substance 3D Designer 在生成參數化資產方面強大的基本概念之一。
繼承方法
繼承方法用於節點的 基礎參數,該參數是所有 節點共同擁有的參數集合,控制其行為的基本面向 。 這些參數包括:
- 輸出大小
- 輸出格式 (即位元深度)
- 像素尺寸
- 像素比率
- 平鋪模式
- 隨機種子
這應該能讓你了解一個 節點的變化 如何影響下游 所有節點的 解析度、精度和平鋪行為。
隨機種子: 使用
變革
繼承方法的變更
在屬性面板中,節點屬性的基礎參數🔗區塊中列出的所有參數,都有一個(圖示)「設定繼承方法」下拉按鈕,位於標籤對面。
這個按鈕讓你選擇應該用來執行參數的繼承方法。
在大多數情況下, 節點的基底參數會設定為 相對於輸入,以利用串接節點的程序行為,而 圖的基底參數則設為 相對於父節點,讓全域參數能適應圖所處的情境。
調整繼承值
部分基礎參數,如輸出大小、像素大小或隨機種子,可以相對於繼承值進行調整。
例如,當輸出大小參數使用 相對於繼 承方法時,值或(1, -1)表示 X 的解析度 高於繼承值的二次方,解析度比 繼承值低 一的二 次方,例如
- 繼承價值:
(9, 9)為2^9, 2^9 = 512, 512 - 相對價值:
(1, -1)即2^(9+1), 2^(9-1) = 256, 1024
若函數被應用於基參數,函數的結果也會使用該參數的繼承法來解釋。
以輸出大小為例,若函數目標是將繼承的解析度在 X 和 Y 上加倍,應該會輸出 (2, 2) 整數 2 值。
節點與圖的父體關係
使用「相對於父繼承法」時,你應該了解在特定情境下,父繼承到底是什麼。
節點的父節點是 它所存在的圖 。
圖的父圖是 它所處的上下文 :
- 如果該圖是實例化成另一個宿主圖的**子圖,則該子圖的父圖就是實例節點。該實例節點的父節點是 主機圖。
- 如果該圖是根圖,則父圖即為 應用程式本身 及其對特定參數設定的值。 例如,圖形會繼承自 圖檢視工具列🔗中的父大小 參數設定。
情境編輯
在圖實例節點使用 上下文編輯 時,圖的父節點即為 實例節點。 此時,圖檢視工具列🔗中的父大小設定會被停用,因為圖會繼承實例節點的基礎參數。
此特性是上下文編輯的重點,應**在設定繼承方法及評估任何節點基參數的當前值時納入考量。
多重輸入的繼承
當圖有多個輸入時,每個輸入可能繼承其離散輸入資料或圖本身,視其繼承方法而定:
主要輸入
當該圖作為實例節點實例化到另一個圖時,該實例節點所有設定為 相對於輸入 的基底參數都會繼承該 輸入所連接的資料。 實例節點的主要輸入可由連接器上的小黑點識別。
其他設定為 相對於父 節點的輸入,會繼承相同的基底參數值,因為它們繼**承自圖,圖繼承自 實例節點*,而實例節點* 繼承自主輸入。
*:如果圖使用*了相對於父* 繼承法,這是正確的。
範例
以下是涵蓋不同繼承情況及以下角色繼承方法相互作用的範例,從上到下:
- 應用
- 宿主圖
- 主機圖中的實例節點
- 子圖——即實例節點所參考的圖
- 子圖中的節點
演員的繼承方法集合會以橘色顯示在其上方。遺產流向源頭的過程以橘色線條顯示。
字母代表 獨立的基礎參數集合 ,應該能幫助追蹤哪個演員繼承了哪些資料。
處理繼承問題
當你建立圖並增加複雜度時,可能會遇到因繼承而產生的意想不到結果。 如果節點的輸出解析度或精度(例如位元深度)不正確,你應該往繼承鏈上查,找出這些值的來源。
一個良好的起點是檢查節點下方顯示的資料:這些資料包括節點第一個輸出輸出的解析度、色彩格式與精度。雖然理解解析度很簡單,但第二項數據值得詳細說明:
-
字母前綴指的是影像的色彩格式:
- L:亮度(即灰階)
- C:顏色
-
這些 數字 代表影像的位元深度,從最低到最高精度:
- 8:8位元整數(0-1 中 256 步)
- 16:16位元整數(0-1 中 65,536 步)
- 16F:16位元浮點數(低精度值超過0-1,含負數)
- 32F:32位元浮點(高精度值超過0-1,含負數)
如果節點有多個輸出,你可以用兩種簡單方法檢查它們的解析度和精度:
- 雙擊 輸出接頭的左鍵 即可在2D視圖🔗中顯示影像,並檢查2D視圖視窗左下角 顯示 的影像資訊
- 建立一個 Levels 或 Transformation 2D 節點,並將其輸入連接到你想檢查的輸出。 節點預設會 繼承輸出 ,然後你可以檢查節點下方的值。
現在你可以往圖中節點鏈往上走,嘗試找出 第一個出現意外值的節點 。 檢查其基礎參數的繼承方法。
如果沒問題且該節點是實例節點,你需要深入打開該實例節點所參考的圖。 從圖的輸出節點開始重複這個過程,往上游推進。
一個常見的例子
特別是, 主輸入 概念容易 被忽略 ,可能導致繼承問題。
Blend 節點非常容易受到這種影響,因為它被頻繁使用。它的 背景 輸入就是主要輸入。
你需要注意混合兩個輸入的順序:你想保留解析度和精度的輸入,如果需要的混合模式允許的話,應該連接到背景輸入。 如果沒有,那你可能需要調整 Blend 節點的基礎參數和繼承方法來補償。