跳到主要內容

YafaRay 0.1.1 : 用光子映射圖(photon map)來評估 Photon Mapping 的設定

使用 YafaRay 的光子映射(Photon Mapping)來為模型著色時,如何適當地設定光子部份的參數如:光子數(Photons)、光子反射次數(Depth)、搜尋半徑(Diff. radius)、光子搜尋數量(Search),不是件容易的事。本文介紹用光子映射圖(photon map)來評估光子映射的設定是否適當。

在開始討論之前,首先要注意一個建模的問題。由 YafaRay 社群夥伴分享的經驗:牆必須要有厚度,而不只是一個面;且搜尋區域的直徑(搜尋半徑x2)必須小於牆厚,否則牆角或交接處會可能有漏光的情形。光子映射的搜尋半徑單位是 Blender 單位(BU)。本文使用的測試模型的牆、版厚是 0.2 BU。在下面的兩張圖裡,第一張圖的搜尋半徑是 1 BU、第二張圖的搜尋半徑是 0.1 BU;明顯地在第一張圖右側牆面和左側牆面、及右側牆面和天花板的交界處有漏光的情形。因此一開始,我們可以根據模型的牆厚,作為設定搜尋半徑的基準。

YPM01
YPM02

到 YafaRay 的 Settings 面板,著色方法選 Photon mapping (1)。啟用 [Final gather](2)和 [Show map](3)按鈕,其他的設定維持預設值,如下圖。

YPM031

開啟 [Show map] 可以讓我們用光子映射圖來評估各項參數的設定是否恰當,著色之後的結果如下圖。我們可以看到有很多的光斑,這就是 YafaRay 用搜尋半徑和搜尋數目這兩個參數計算出來場景中的光子密度分佈。此外,在右側牆面和左側牆面、及右側牆面和天花板的交界處,這是沒有光源直接照射的地方,但卻出現白色色塊,這表示極可能會有漏光的情形發生,如本文開頭的第一張圖。

YPM032

解決上圖問題的方法是減少搜尋半徑。因為測試模型的牆、版厚是 0.2 BU,所以把搜尋半徑改為 0.1,結果如下圖 。白色區域消失了,但在光斑間有一些黑色的區域,這表示 YafaRay 在這些區域裡找不到光子。

YPM04

改善上圖的方法之一是提高光子數。下圖是把光子數提高一倍的結果。

 YPM05

上圖的黑色區域明顯變少。消去黑色區域的另一個方法是提高反射次數(Depth)。下圖是把反射次數提高為 10 的結果,只剩下少數黑色區域。反射次數是一顆光子在場景中撞到物件反彈的次數,反射次數愈多代表光子能到達更多的表面,而提高場景中的光子密度,也使著色結果更為明亮。

YPM06

根據 Raytracing roundup with YafaRay 這份解說,調整光子搜尋數量(Search)的目的是要讓相鄰光斑間的顏色變化更為平順(coherent)。但在本例中並未出現明顯差異,且有時改變後反而使黑色區域增多。因此最後成果搜尋數量維持 100。以下第一張圖是最後成果的光子映射圖,第二張圖是著色成果。

YPM07
YPM08


小結:
  • 根據場景模型的尺寸來決定搜尋半徑,牆厚是一個很好的基準;
  • 如果光子映射圖中光源沒有直接照射的部份出現白色色塊,降低搜尋半徑;
  • 降低搜尋半徑後可能會出現黑色不連續色塊,黑色色塊表示該區域沒有光子,可用增加光子數或提高反射次數來提高光子在空間中的密度;
  • 調整光子搜尋數量讓相鄰光斑間的顏色變化更為平順。
YafaRay 學習筆記

References:

留言

這個網誌中的熱門文章

建築、室內設計名詞中英對照

建築類型 住宅:casa (葡), house 宿舍:dormitory (dorm) 宿舍寢室:dorm room 豪宅:mansion 鄉村別墅、花園住宅:Villa (義) 空間 門廳、玄關:vestibule, lobby, entrance hall 廁所:toilet, powder room (私人住宅中的客用廁所) 構造 欄杆、扶手:balustrade 欄杆柱:baluster, spindle, stair stick 格柵、花格、格子(窗):grill, grille 格子(窗、門):lattice, latticework 百葉:louver 鑲板 :paneling, panelling 女兒牆:parapet 斜屋頂:pitched, peaked, or gabled roof 高架地板:raised floor 鉚釘: rivet 線板、飾條:trim, molding(美) or moulding(英), coving(英、澳),包含: 踢腳板 :baseboard, skirting board 護牆版:wainscot  家具飾條:chair rail, 距地板約 90 公分 掛畫飾條:picture rail  層版:plate rail 冠頂(天花)線板:crown molding 門頭線板、窗頭線板、畫框線版:door casing, window casing  Interior Trim: 8 Must-Know Elements Molding (decorative) - Wikipedia 門窗 門把:doorknob 門檻:threshold 伸縮拉門:retractable folding gate 窗簾:curtain 百葉窗:louver 羅馬簾:Roman Blind 材料 軟木(塞):cork, corkwood 乳膠漆: Emulsion paint 霧面玻璃:frosted glass 鍍鋅格柵:galvanized grille 美耐板: Laminate, 製造原料為 Melamine (三聚氰胺) 。 整體粉光: monolithic finish ...

Blender 2.6 : 分離(P)和結合(CTRL+J)物件

如果要把一個物件裡的一部分獨立出來,變成另一個物件,作法如下: 選取要分割的物件,TAB 進入編輯模式; 選取要分割的部份,按 P 分離物件; 可以根據選取部份(Selected)、沒有連接在一起的部份(All loose parts)、不同的材質(by Material)把物件分離成不同的獨立物件。 如果要把多個獨立的物件結合成一個物件,作法如下: 在物件模式,選取要結合在一起的物件; 按 CTRL+J 把它們結合到最後選的物件之中。 Blender 網面(Mesh)建模 Blender 學習筆記

Blender 2.8 : 動畫輸出 - 基本操作

Roland Hess 在 Blender Foundations 一書中建議動畫輸出最好是先把動畫儲存成連續的單張影像,再利用 Blender 內部的 Video Sequence Editor 組合編輯。理由如下: