跳轉到內容

Blender 3D:菜鳥到專業/Cycles中的玻璃材質

來自 Wikibooks,開放世界中的開放書籍

本教程將使用 Cycles 渲染重新制作之前的 光線追蹤 課,這次我們將使用 Cycles 渲染。從您上次建立的相同文件的副本開始;我們將保留相同的幾何體,但重新制作所有材質,然後您可以比較最終結果,看看不同的渲染器如何執行。

開啟光線追蹤文件。將渲染器 切換到 Cycles。之前我們定義了兩種材質:世界背景使用“神奇”紋理,以及用於立方體的玻璃。所以我們需要重新制作它們。

對於除最基本的純漫反射材質之外的所有材質,Cycles 要求您使用節點編輯器。您應該已經完成了 先前的介紹;如果您沒有,請複習一下。Cycles 材質節點與 Blender 內部 材質節點 不同;但節點編輯的基本機制是一樣的。

神奇的天空

[編輯 | 編輯原始碼]

讓我們先嚐試修復背景材質。轉到屬性 視窗中的世界 上下文。它應該看起來像右側的樣子。所有世界設定都去哪裡了?幾乎所有設定都消失了!

但是看到那個大大的“使用節點”按鈕了嗎?它很大,這樣你就很難錯過它。點選它。

好了!現在有一些更多的設定,但仍然不多。對於所有有趣的東西,我們必須進入節點編輯器。

您可能在 Blender 屏幕布局的底部有一個時間線 視窗。將視窗型別更改為節點編輯器 ,並增加其高度。(或者,如果您還沒有,可以新增一個新視窗,並將其設定為節點編輯器。)在其標題中,選單標題旁邊,您應該看到一組 3 個圖示 表示您要編輯的節點型別:如果您將滑鼠懸停在它們上面,從左到右,您應該看到工具提示,分別將它們標識為“著色器節點”(即 Cycles 材質)、“合成節點”和“紋理節點”。我們想要的是“著色器節點”。

Note:

Cycles 不使用紋理節點編輯器。當 Cycles 被選為渲染器時,您可能會發現節點編輯器的這種模式仍然可用,但這沒關係,不要費心使用它。在 Cycles 中,所有紋理設定都在著色器/材質節點編輯器中完成。

選擇著色器節點後,您將看到另外一對圖示 緊挨著這三個圖標出現:它們指示是否要編輯選定物件的著色器節點,還是世界節點。我們想要的是世界節點。

只要您選擇世界著色器,以下內容就會出現在節點編輯器視窗中。注意特殊的“背景”和“世界輸出”節點:您必須在世界著色器中包含它們,但注意“背景”節點上的“顏色”輸入端子嗎?它迫切需要一些東西連線到它。

使用  SHIFT + A  彈出新增節點的選單。查詢紋理子選單,它應該看起來像右側的樣子。選擇“神奇紋理”項。

這將新增一個代表紋理的新節點;將其“顏色”輸出連線到“背景”節點上的“顏色”輸入,就像右側的樣子。

現在,如果您按下  F12  進行渲染,您應該會看到新的神奇世界背景。

玻璃來了

[編輯 | 編輯原始碼]

確保在 3D 檢視中選擇了立方體。轉到屬性視窗中的材質 上下文。與之前一樣,您將看到很少的設定,以及一個大大的“使用節點”按鈕。點選它。

在節點編輯器中,記住有兩個圖示用於選擇要編輯的著色器/材質節點型別,一個是物件圖示,一個是世界圖示?這次點選物件圖示。

與之前一樣,您將看到一個初始的預設節點設定,就像右側的樣子。

這次,只有一個節點需要存在才能使節點設定正常工作,那就是材質輸出節點。使用  RMB  點選名為“漫反射 BSDF”的節點,然後按  DEL  將其刪除。

現在彈出來新增  SHIFT + A  選單,這次查詢著色器子選單。我們將需要其中的三個專案,所以一次新增一個

  • 一個光滑 BSDF,使表面有光澤(注意該節點的預設粗糙度設定為 0.2,將其設定為零)
  • 一個折射 BSDF,使光線穿過透明材質折射的效果,以及
  • 一個混合著色器,將兩者結合在一起。

啊,但是我們如何將兩者結合在一起?還記得我們在 Blender 內部教程中談到的菲涅耳係數嗎?好吧,在 Cycles 中,有一個用於此的節點!

在新增  SHIFT + A  選單中,彈出來輸入子選單。在其中,您將看到一種菲涅耳節點型別。新增一個這樣的節點。您會看到它從預設的 IOR(折射率)值為 1.45 開始,這大約是玻璃的折射率。

最後,將您的小型節點集合連線在一起,就像這樣。看到菲涅耳係數如何控制光滑著色器和折射著色器的混合比例嗎?輸入到混合著色器的較大的輸入因子意味著其第二個(較低)著色器輸入的比例更大,而較小的輸入因子意味著其第一個(較高)著色器輸入的比例更大。較高的菲涅耳係數輸出對應於更靠近物體邊緣的區域,您希望在那裡有更多的反射,而較低的輸出值對應於內部區域,您希望在那裡有更多的透明度。

最後,最後,按  F12  看看結果是什麼樣子。

Note:

它看起來很粗糙,沒有像這樣清晰嗎?在渲染 上下文的取樣面板中增加樣本數,正如您在 上一教程 中所學到的那樣。此處的圖片是用 500 個樣本完成的。

.

Note:

為什麼不直接使用玻璃 BSDF 呢? 你可能在上面的新增著色器選單中看到過它。然而,它似乎沒有產生正確的效果:它看起來與折射 BSDF 沒什麼不同,沒有提供多少光澤反射。

可調節折射

[edit | edit source]

你可能已經注意到,上面的一組節點包含兩個不同的名為“IOR”的欄位:一個是菲涅耳節點上的,另一個是折射 BSDF 節點上的。前者控制著透明度和反射率之間的過渡,而後者控制著光線穿過材料的實際折射。在現實世界中,兩者總是相同的,因為它們是相同的物理量。

使用正確的 IOR,相同的節點設定可以用來表示其他透明材料。為什麼不只在一個地方設定值,而要設定兩次呢?

要做到這一點,新增  SHIFT + A  另一個節點,從輸入子選單中,型別為值。這將提供一個你指定的固定值到任意數量的輸出終端。將它的值輸出連線到菲涅耳和折射 BSDF 節點上的兩個 IOR 輸入。這裡我將它的值設定為 1.45,這對於玻璃來說是一個合適的值。

可重用的自定義著色器

[edit | edit source]

如果你想在一個文件中有多種透明材料怎麼辦?你需要每次都重複上面的設定嗎?

當然不會。相反,你可以定義一個自定義的節點組,並將它插入到你想要的任何節點編輯器設定中,你想要多少次就多少次。

從上一個螢幕截圖中的節點設定開始。選擇  RMB  提供 IOR 值的值節點,並  DEL  除它。現在看看剩下的四個節點,菲涅耳輸入和三個著色器節點(除了材質輸出)?以任何通常的方式選擇這些,僅選擇這些:按  A  一次或兩次來取消選擇所有內容,然後  RMB  第一個節點和  SHIFT + RMB  其餘節點,或將一個  B  框選擇到想要的節點周圍。

現在,在這些節點被選中後,從“節點”選單中選擇“建立組”,或使用鍵盤快捷鍵  CTRL + G 。也按  N  在節點編輯器視窗的右側調出屬性架。結果應該像右邊一樣。注意以下幾點

  • 綠色的背景表明你正在編輯一個節點組,而不是整個節點設定
  • 用黃色標題標記的塊,分別標記為“組輸入”和“組輸出”:這些定義了整個節點組的輸入和輸出終端:組的輸入顯示為組輸入塊上的輸出,組的輸出顯示為組輸出塊上的輸入。組中任何未連線到這些終端的終端在組外部將不可見。

你可以按  TAB  從編輯節點組切換到編輯整個節點設定,在那裡你會看到你的組顯示為一個名為“節點組”的單個塊。如果你想看看,可以試試這個,然後按  TAB  返回到編輯組,因為我們還沒有完成設定。

首先,我們需要一個輸入來指定 IOR 值。點選菲涅耳節點上的 IOR 輸入終端,並拖到組輸入節點的右側邊緣。Blender 應該會自動在組輸入節點上建立一個名為“IOR”的輸出終端,並有一根線連線到菲涅耳 IOR 輸入。

現在點選這個組輸入 IOR 終端,並將另一根線拖到折射 BSDF 節點上的 IOR 輸入。

玻璃通常是有顏色的。這種顏色會影響光線穿過材料,而光澤反射則保持無色。

要為我們的節點組建立一個顏色輸入終端,只需從折射 BSDF 節點上的“顏色”輸入終端拖到組輸入節點的右側邊緣即可;和以前一樣,Blender 會自動新增一個新的組輸入終端和連線。

現在按  TAB  完成自定義節點組的編輯。這將帶你回到整體節點設定,你的自定義節點仍然被選中。它的名稱將在右側的屬性架上的屬性面板中顯示出來;將其從預設的“節點組”更改為更有意義的名稱,例如“自定義玻璃”。

現在,你可以添加回之前刪除的輸入值節點,為 IOR 終端提供一個值。同樣,你也可以新增一個 RGB 節點,將其饋送到玻璃顏色中。或者,由於每個值只需要饋送到一個輸入終端,你可以在自定義玻璃節點上未連線的輸入中直接鍵入它們。

此外,你的自定義節點現在出現在新增組選單中,隨時可以插入到其他地方,在當前節點設定或其他節點設定中。

請注意,當你插入另一個自定義節點的例項時,節點定義本身不會被複制。每個例項都在其自己的獨立輸入值上執行,併產生其自己的獨立輸出值,但你隨後可能對節點組的內部定義所做的任何更改都會自動生效,無論你之前在哪裡使用過它。

華夏公益教科書