3步驟製作 blender 顏色折射的玻璃 shader

之前在 Instagram 看到其他藝術家的作品,就覺得好漂亮!今天也來研究一下怎麼做出這個效果,雖然不太一樣,不過也調整出我自己喜歡的風格!

要先會的

  • 會新增 mesh 和 light 物件。
  • 會 shader BSDF 屬性的基礎操作。
  • 了解 Mapping 和 Texture Coordinate
  • 使用 Cycles 渲染引擎

Nodes 使用思路

步驟一:透過 White Noise + Color Ramp 增加玻璃色彩

玻璃顏色變化的關鍵,就是在玻璃材質中加入色彩,這樣折射時,就可以讓表面和 IOR 時能夠透出顏色。

White Noise Texture:它會輸出一個隨機分布的雜訊值。

Color Ramp:把單純的灰階雜訊,轉換成漸層顏色。你可以設定幾個漸層色,來控制模型要出現的色彩。

Nodes 連接方式

  1. Principled BSDF Transmissionweight 數值設定成 1,讓物體變成透明。
  2. White Noise Texture Value 輸出到 Color Ramp。
  3. Color RampColor 輸出到 Principled BSDF Base Color,讓你的玻璃表面在折射時,帶有不均勻且微妙的彩虹顏色。

步驟二:透過動態 IOR 產生細緻的折射變化

真實世界中的玻璃「折射率」大多固定。但如果想做出類似「彩虹玻璃」、「Fantasy 風格水晶」或「變色龍般」的折射效果,就可以透過動態折射率,在物體表面的不同區域產生微妙變動,製造更豐富的視覺效果。

  • Map Range:這個節點可以把某個輸入數值的範圍(From Min、From Max),映射到你指定的另一個範圍(To Min、To Max)。舉例來說,如果我們想用 White Noise Voronoi 這類程式化貼圖產生的灰階數值(通常 0~1 之間),動態控制折射率(IOR)在某個特定區間(例如 1.0~1.5),就可以透過Map Range來「重新定義」它的上下限,並把結果輸出到 BSDF 的 IOR。

Nodes 連接方式

  1. Map RangeResult 連接到 Principled BSDFIOR。
  2. Map Range 的數值,將To MinTo Max 分別設定 1.15 和 1.5。

步驟三:透過 Layer Weight 讓邊緣或表面產生細膩光影

這時候的效果,已經看得出來折射有些細膩的色彩,但有點不夠「透亮」,也有點「平」,這時候可以增加一個玻璃材質,然後混合 Principled 以及透過 Layer Weight,讓表面光影更「透亮」更「立體」。

  • Layer Weight:主要用來判斷「視角與表面法線之間的夾角」,然後輸出一個數值,用於控制材質在不同角度下的外觀。適合做出更細膩的的反射邊緣、金屬漸層等。

Nodes 連接方式

  1. 新增 Glass BSDF 材質。
  2. Principled BSDF Glass BSDF ,使用 Mix Shader 連接起來,並將Shader 輸出到 Surface。
  3. Mix Shader Fac 使用 Layer Weight 控制。
  4. Layer Weight Blend 設定你要的數值。

以上就是讓玻璃材質,產生豐富視覺效果的方式,還可以再加入不同的 nodes 讓視覺更多變化,像是透過 Bump 讓表面產生一點點不規則凹凸,折射起來會更有變化、更有不完美的感覺!