Blender 3D:新手到專家/光線追蹤
|
|
適用的 Blender 版本:2.67。 |
你之前學習過使用漫射和鏡面著色器來控制材質的外觀。這些設定只會影響材質如何反射來自燈光的直接光;但在現實世界中,物體也受到來自其他被照亮物體間接光的照亮。

特別是,有一個重要的案例,即光線在到達照相機之前從鏡子和其他光滑或拋光表面反彈,以及光線穿過透明物體並折射(彎曲)。
在現實世界中,這種光可以照亮其他物體,並且它也可以在從非鏡面表面反彈後這樣做。對這種間接照明進行建模的普遍問題稱為全域性照明,通常縮寫為“GI”。不幸的是,我們一直在使用的 Blender 內部渲染器無法完全處理 GI;為了應對這種情況,我們必須使用 Cycles 渲染器,該渲染器將在後面介紹。因此,現在我們將自己限制在不照亮其他物體的鏡面反射上。

讓我們建立一個非常基本的模型,我們可以用它來試驗各種光線追蹤效果。開啟一個新的 Blender 文件。確保預設立方體被選中。轉到屬性視窗中的修改器
上下文,並將陣列修改器新增到立方體。
立方體將立即變成兩個立方體,但它們靠得太近,看起來像一個長方體。這是因為陣列修改器的預設設定是使用相對偏移量 (X, Y, Z) = (1.0, 0.0, 0.0)。將這些偏移量更改為 (1.5, 1.5, 1.5),這樣副本在更有趣的角度上會更加分散,並將重複次數增加到 5。

現在嘗試旋轉和重新定位照相機和立方體,以使它們全部進入檢視。如果您按下 F12 以立即渲染,您應該看到類似於右邊的影像。到目前為止,並沒有什麼特別令人興奮的。但由於我們將處理反射和折射,因此在周圍環境中有一些東西可以反射和折射會很好。

一個容易新增的東西是世界紋理。轉到屬性視窗中的紋理
上下文。確保世界紋理
(最上面面板最上面三個按鈕中最左邊的那個)被選中。建立一個新的紋理,並將它的型別更改為“魔法”,它具有各種不同的顏色。轉到影響面板;預設情況下,左上角的複選框(影響背景漸變)已選中;但這沒有任何作用,因為預設的天空設定不是有漸變。因此,取消選中該框,改為選中左邊的第二個框(影響地平線顏色)。
同樣在“尺寸:”設定下,將 X、Y 和 Z 縮放都設定為 3.0;透過縮小圖案,這將把更多細節帶入檢視。

現在,如果您按下 F12 ,您應該會得到一張背景更有趣的影像。
好的,我們準備開始玩材質設定了...

在物理學中,折射是指光線從一種物質(例如空氣)穿過邊界進入另一種物質(例如水)時發生的情況;它在進入密度更大的物質時會減速,並在離開時會加速。物質的折射率是衡量光速相對於真空(光以全速傳播的地方)變化程度的指標。隨著速度的變化,光束的方向也會發生變化,從而產生眾所周知的“彎曲”效果,例如你在將茶匙放入一杯水中時或向下看游泳池時看到的效果(如右圖所示)。

無論如何,回到我們的教程模型。確保立方體被選中。轉到屬性視窗中的材質
上下文。找到透明度面板,並選中頂部的複選框以啟用透明度。在位於該複選框正下方用於選擇透明度型別的按鈕行中,標題為“遮罩”、“Z 透明度”和“光線追蹤”,選擇“光線追蹤”。
在這些透明度型別按鈕正下方的可編輯欄位中,左上角的那個標題為“Alpha:”;您必須將其降低到低於其預設值 1.0,才能看到任何實際的透明度效果。嘗試將其降低到 0.5。
再往下一點,您會看到另外兩個欄位:“IOR:”(“折射率”)和“過濾器:”。
要模擬玻璃,將 IOR 設定為 1.5(其他有用的值是水的 1.33、鑽石的 2.4 等等)。過濾器值控制光線穿過材料邊界時吸收的材質漫射顏色的多少;將其設定為類似於 0.5 的值,儘管除非您在漫射著色器設定中指定了一種強烈的顏色,否則您可能不會注意到它的太多影響。
“深度:”設定控制光線在渲染器放棄跟蹤之前穿過材料邊界的次數。更大的值會產生更逼真的結果,但代價是渲染時間會更長。在您在其他透明物體前面有透明物體的更復雜場景中,此值將產生確定的影響;在這裡它可能不太重要。

現在,如果您按下 F12 ,您應該看到類似於右邊的影像。立方體仍然看起來有點灰色;如果您將 alpha 設定為 0,它們會看起來更加透明。
另外嘗試玩一下“光澤度:”下的“數量:”滑塊:預設值 1.0 會產生完美的平滑折射,而小於 1.0 的值會產生“磨砂玻璃”效果,模糊光線穿過材料時的效果。
現實生活中的材料從來都不是完全不透明的或完全吸收的;即使是像閃亮的金屬這樣的東西看起來完全不透明,光線仍然能夠滲透到表面的一小部分,即使是最黑的黑色菸灰,也仍然會發生一些(微小的)反射。
一般行為是,當直接觀察材料表面時,材料最透明,當幾乎平行於表面觀察時,材料最反射(和往常一樣,維基百科擁有所有血腥細節,如果你有興趣的話)。
如果您看一下透明度設定面板,您會在 Alpha 欄位的右側看到一個標記為“菲涅耳:”,在它的下面還有一個標記為“混合:”,當菲涅耳值設定為高於其預設值 0 時,它會變為活躍狀態。
菲涅耳(發音為“fray-nel”)值是功率,它控制著表面的透明度隨觀察角度變化的速度;0 表示透明度在所有角度都不變,而較高的值會導致透明度朝邊緣更快下降。您可以為該欄位設定的最大值為 5.0。

在材質設定中,透明度面板下方,你會看到映象面板。選中頂部的複選框以啟用它。請注意複選框下方的“反射率:”可編輯欄位;您需要將其設定為除預設值 0.0 以外的值,才能實際觀察到任何映象效果。

如果您現在渲染,您應該會看到類似這樣的東西。
另請參閱指定反射顏色色板:預設白色表示反射保持其顏色不變,這是玻璃、塑膠或陶瓷反射的特徵。金屬反射往往會呈現金屬的顏色。
光澤度設定控制反射的鏡面程度:將其從預設值 1.0 降低會為反射新增模糊,使表面看起來不太光滑。
請注意,映象面板有自己的菲涅耳設定。返回透明度面板,並將 Alpha 設定為 0。這將完全停用漫反射和鏡面著色器,從而提供純光線追蹤材質,並且也會使透明度菲涅耳無效。相反,我們將在映象面板中控制菲涅耳。非零菲涅耳功率的行為與之前類似;但是,它不會從正面看到的表面上逐漸淡出透明度到邊緣看到的著色器效果,而是會從透明度逐漸淡出到映象。

將菲涅耳值設定為約 2.5。將渲染與之前的沒有菲涅耳的渲染進行比較。

最後,將反射率設定為 1.0,將菲涅耳設定為 0。現在如果您渲染,您應該會得到一組完全不透明、鏡面反射的立方體。

考慮右側的渲染:這是一個預設文件,添加了一個平面;立方體啟用了光線追蹤透明度,IOR 為 1.5,過濾器為 0.5,深度為 5,Alpha 為 0,其他設定保持預設值。平面有一個材質,所有設定都保持預設值。
光應該能夠穿過立方體並照亮直接位於其背後的平面部分;那麼為什麼陰影完全是黑色的呢?

問題是,預設情況下,Blender 內部渲染器不會費心計算透明陰影。相反,它假設任何阻擋光線的東西都完全阻擋光線,可能是因為它假設相反的情況會降低速度。要解決此問題,請選擇平面(不是立方體),並在其材質
設定中,查詢陰影面板。請注意左上角的兩個複選框:預設情況下,“接收”複選框已選中,“接收透明”複選框未選中。選中後者。現在,任何分配了此材質的物體表面都將適當地計算出正確的非透明陰影。

現在,當您重新渲染時,您應該會看到看起來更準確的透明陰影。
想象一下,如果您有一個場景,其中有很多具有不同材質的非透明物體從很多透明物體接收陰影:您必須在所有這些可能接收透明陰影的材質上選中“接收透明”選項!是的,這可能很麻煩。更不用說焦散的問題了,BI 渲染器根本無法處理。如果您想渲染這樣的真實場景,那麼您需要了解Cycles...