關於SD里Gradient(Dynamic)節點的深度講解

關於SD里Gradient(Dynamic)節點的深度講解

4 人贊了文章

講Gradient(Dynamic)節點之前,不得不先說一下Gradient Map節點。

官方文檔:The Gradient node remaps the grayscale values from the input, based on a fully customizable color or grayscale gradient.

大體意思就是:Gradient節點可以把灰色漸變重新映射成灰度圖或者顏色圖,經常被用於Noise轉變成顏色圖。

而Gradient(Dynamic)節點跟Gradient節點的原理是一樣的,只不過Dynamic節點需要一張漸變圖(下圖B輸入)作為映射的來源,這張漸變圖可以是灰度圖,也可以是顏色圖。

A、B兩個輸入通道

Dynamic節點只讀取B輸入的一行或者一列像素作為映射來源,可以通過「Gradient Orientation」選擇橫向(Horizontal)或者縱向(Vertical)像素。


橫向漸變(Horizontal):

拿一個圓形灰度圖作為A輸入,一個左紅右青的顏色圖作為B輸入,Gradient Orientation設置為橫向,最後映射的結果是:A輸入黑色階部分被紅色替換,白色階部分被藍色替換。

橫向漸變

由此可見:Gradient Orientation設置為橫向的時候。B輸入是自左向右進行採樣的。


縱向漸變(Vertical):

把B輸入旋轉90°,上青下紅,Gradient Orientation設置為縱向,最後映射的結果是:A輸入黑色階部分被青色替換,白色階部分被紅色替換。

縱向漸變

由此可見:Gradient Orientation設置為縱向的時候。B輸入是自上而下進行採樣的。


漸變定位(Gradient Input Position)

漸變定位控制B輸入的採樣位置,可以通過修改漸變定位移動採樣位置。

用一張上半部分左紅右青,下半部分左黃右藍的顏色圖作為B輸入,Gradient Orientation為橫向,漸變定位從0增加到1,採樣像素從上向下移動。

黑色方框內為採樣像素,箭頭表示漸變定位移動方向

當漸變定位在[0,0.5)區間的時候,B輸入的上半部分生效。

漸變定位在[0,0.5)區間

當漸變定位在(0.5,1]區間的時候,B輸入的下半部分生效。

漸變定位在(0.5,1]區間

由於圖片像素是偶數,正中間位置為空值,所以當漸變定位是0.5的時候,最後映射的結果介於兩者之間。

漸變定位為0.5

把B輸入旋轉90°,Gradient Orientation為縱向,漸變定位從0增加到1,採樣像素從左向右移動。

黑色方框內為採樣像素,箭頭表示漸變定位移動方向

當漸變定位在[0,0.5)區間的時候,B輸入的左半部分生效;當漸變定位在(0.5,1]區間的時候,B輸入的右半部分生效;當漸變定位是0.5的時候,最後映射的結果介於兩者之間。

漸變定位從0增加到1


巧用Gradient Dynamic節點可以生成很多有趣的圖案,標題圖就是使用這個節點製作的。

標題圖節點連接

開始的時候說過,Dynamic節點跟Gradient節點的原理是一樣的,所以Dynamic可以實現的效果,Gradient也可以實現。如下圖所示設置Gradient節點的漸變條

Gradient Map漸變條

最終跟使用Dynamic節點的效果一致

2個節點的映射結果對比

再比如:

一片蜘蛛網


問:A輸入如果沒有漸變,連上節點之後會有效果嗎?

答:因為Gradient一系列的節點都是根據漸變進行映射的,如果沒有漸變,只會出現單一顏色。

問:A輸入漸變圖中有非漸變的部分,非漸變的部分也會受到影響嗎?

答:Gradient一系列節點是對整個圖進行顏色映射,所以即使有非漸變部分,也是會受到影響,只不過非漸變部分只會出現單一的顏色,不會有漸變過渡。

以上是本人的個人理解,如果解釋不當之處,歡迎指正。


推薦閱讀:

基於substance gpu引擎的flood fill節點 演算法分析(I)
Substance Designer Flood節點用途分析(I)
遊戲美術行業薪資怎麼樣?
遊戲動畫中人體骨骼的綁定注意
【譯介】新川洋司創作談

TAG:遊戲美術設計 |