跳轉至內容

Blender 3D:從新手到專業/迷霧 - 使物體不透明

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

Blender 的迷霧工作原理

[編輯 | 編輯原始碼]

如果您在 Blender 的迷霧中渲染物體,它們會與背景顏色混合。
因為 Blender 透過增加迷霧強度和離相機的距離來降低物體的 Alpha 值。

如果您的場景具有始終不變的背景顏色,這將是一個不錯的選擇,但是
如果是真實的背景或世界紋理,它看起來就不那麼令人信服。
所有物體看起來都像是幽靈。

解決方案簡述

[編輯 | 編輯原始碼]

此頁面將向您展示兩種解決此問題的方法。
主要思想是用不透明的顏色與物體混合,而不是使它們透明。
透明度越高,新增的不透明顏色就越多。


因為 Blender 在啟用迷霧的情況下提供了一個(動態)Alpha 值,
我們可以使用此值作為係數來增加或減少物體混合
與某種顏色(甚至增強或降低材料的對比度等)


以下是用迷霧和“混合技術”渲染的結果。您會看到,您不會看到背景發光。

第一個解決方案是使用外部合成程式
不會深入解釋,因為我們想專注於如何解決
Blender 中的問題,因為它是開源的。

解決方案 1:使用外部合成軟體。

[編輯 | 編輯原始碼]

只需使用 Alpha 通道分別渲染您的背景和物體。
然後將這些檔案匯入到兩個圖層的合成程式中。
(一個用於物體,一個用於背景)。
在這些圖層之間,您設定一個新的“顏色圖層”,顏色為固體灰色藍色
(因為這適合大氣顏色)並建立一個剪下蒙版。
“剪下蒙版”意味著“顏色圖層”僅在頂層物體存在的地方可見。
在沒有物體的地方,您可以看到背景。
由於物體是部分透明的(因為 Blender 的迷霧),
您將看到灰色藍色發光。
物體越遠,透明度就越高,
顏色圖層就越能透過物體發光。

解決方案 2:使用 Blender 的合成節點。

[編輯 | 編輯原始碼]

由於解決方案 1 似乎不是什麼大問題,因為我們負擔不起昂貴的軟體包,因此我們也可以
透過 Blender 內建的合成節點來實現這種“混合技術”。

要繼續閱讀,您最好對 Blender 的合成節點有所瞭解。

現在,本教程最有趣的部分是節點編輯器中的節點圖


描述

步驟 1 渲染層 1
[編輯 | 編輯原始碼]

在“渲染設定”選項卡中,您為不想透明的物體分配渲染層 1。

有關如何處理渲染層的說明,請參閱 http://wiki.blender.org/index.php/Doc:Manual/Render/Layers

重要的是您要關閉“天空”,並開啟“索引通道”。(“迷霧”選項與節點渲染層 1 中的 Alpha 輸出提供相同的值)
“索引通道”將在步驟 5 中解釋。

步驟 2 渲染層 2
[編輯 | 編輯原始碼]

此圖層僅渲染背景,即天空。在我的例子中,我還必須啟用其他元素,因為否則地面平面不會渲染。
我不知道為什麼,但這在我們的例子中無關緊要。

步驟 3 分離 RGB+Alpha
[編輯 | 編輯原始碼]

節點渲染層 1 的“影像輸出”提供 RGB+A,這有點令人困惑,
因為您也可以看到 Alpha 輸出。在節點編輯器視窗中選擇“新增”->“顏色”->“分離 RGBA”。

步驟 4 結合 RGBA
[編輯 | 編輯原始碼]

現在,分離的 RGB 再次組合成 RGB,但這次使用步驟 5 中的新的 Alpha。

步驟 5 使透明物體不透明
[編輯 | 編輯原始碼]

好訊息是,Blender 的物體 ID Alpha 值會忽略迷霧。
因此,我們可以新增一個 ID 蒙版節點,將物體的 Alpha 匯入到新影像中。
在這裡,您必須將物體的 ID 設定為與 ID 蒙版節點中相同的數字。
選擇物體並設定其 ID 通道索引!
旁邊是設定物體 ID 的截圖。

在按鈕視窗的紅色標記區域中,您可以設定物體的 ID


步驟 6 將物體與顏色混合
[編輯 | 編輯原始碼]

在此,您新增一個混合節點來將物體與“地平線顏色”混合。
顏色應設定為明亮的灰藍色,因為這是大氣層內部空氣的顏色。
任何顏色都是可能的,您可以想象在火山口中是深紅色,或者在外太空是黑色。

步驟 7 設定顏色新增比例的因子
[編輯 | 編輯原始碼]

由於霧的存在,Blender 會為物體提供一個 Alpha 值。
如果一個物體離得很遠,或者霧的強度很高,
物體的 Alpha 值會降低,這意味著 Alpha 值會更接近黑色。
而如果物體很近,它相應的 Alpha 值就會很高,這意味著它會接近白色。
黑色意味著 RGB 值為 0-0-0,白色意味著 RGB 值為 1-1-1。

由於我們要使用這些值作為將物體與“地平線顏色”混合的比例因子,
我們需要將該值反轉。

(近距離物體 = 高 Alpha 值 = 接近 1 的比例因子 - 但我們需要將混合比例因子設為接近 0,因為我們希望在物體靠近時霧氣較少)

所以讓我們新增一個“反轉顏色節點”。
獲取該節點的節點圖設定。
該節點將黑色反轉為白色,深灰色反轉為淺灰色,等等。
我們現在使用這個反轉的 Alpha 值(或霧氣值)
作為將地平線顏色與物體混合的比例因子。

步驟 8 將著色的物體疊加到天空背景上
[編輯 | 編輯原始碼]

現在您新增一個 Alpha Over 節點,該節點將我們的物體疊加到天空背景上。
請注意使用截圖中顯示的設定,以及 Alpha Over 節點的兩個影像輸入的順序
非常重要。
第二個輸入始終疊加在第一個輸入之上。

步驟 9 新增一個輸出節點
[編輯 | 編輯原始碼]

最後,您需要一個輸出節點,並在渲染設定中啟用“執行合成”。

步驟 10 示例
[編輯 | 編輯原始碼]

以下是我專案中如何實現的示例。

確保您正確執行了每個步驟 - 然後一切都會正常工作。
更重要的是,您要理解其背後的邏輯,
這樣您就可以瞭解 Blender 的合成節點和 01 邏輯;)

由於“Mist”(霧)在德語中類似於“Bullsh**”(胡說八道),所以我一直不相信它在 Blender 中真的是這樣,
而且事實並非如此!Blender 是一個非常棒且強大的工具。
希望它永遠是開源的。


華夏公益教科書