跳到主要內容

YafaRay 0.1.2 - Photon Mapping 照明方法



光子映射(Photon Mapping, PM)的運作方式主要有兩個階段。
首先由光源向場景中發射一定數量的光子,這些光子在場景中反彈數次後,記錄這些光子遺留在撞擊表面的能量(亮度、顏色等)。為求運算效率,不可能無限制的向場景中發射光子,因此必定有很多地方沒有能量資訊。所以發射光子後,PM再使用光子密度估計法(density estimates)來推算沒有光子撞擊位置的亮度,以求取整個場景的亮度分布。也因為成像有很多部份是推算出來的,所以光子映射被認為是有偏差的(biased)著色方法。PM的第二階段是由攝影機發出射線,也就是 ray tracing 來計算最終的成像。



上圖是頁首圖的著色設定。YafaRay 的光子設定分為兩個部份:漫射光子(Diffuse Photons)和焦散光子(Caustic Photons)。焦散光子專門用來計算場景中的焦散效果,其餘部份則由漫射光子負責。本文重點在漫射光子,焦散光子請參閱:YafaRay 0.1.2 - 焦散光子 Caustic photon map。漫射光子的參數包括:
  • Depth : 光子碰到表面的反射與折射次數,在同樣光子數的條件下,反射次數愈多場景愈亮。
  • Photons : 用來建立光子映射圖(計算場景亮度)的光子數。
  • Search radius : 搜尋半徑。
  • Search count : 搜尋光子數。
以下是我對光子映射運作方式的理解。YafaRay 在建立光子映射圖之後,會把整個場景分割成一個一個的小區域。分割方法是由攝影機向場景發射射線,當射線擊中物體,就以擊中的那一點為圓心,在搜尋半徑(Search radius)的範圍內搜尋光子,搜尋半徑的單位是 Blender Unit。搜尋光子數的最大值由 Search count 設定;也就是說,若搜尋數為 100,則當 YafaRay 搜尋到 100 個光子後,就不會在這個區域繼續搜尋。當整個場景的光子搜尋完畢,就根據場景中的光子密度計算整個場景的亮度。關於參數間的關係,請參閱:YafaRay 0.1.1 : 用光子映射圖(photon map)來評估 Photon Mapping 的設定



如果開啟 Show radiance map 選項著色,得到的會是如上圖般由色塊拼成的圖像。Final Gather 即是用來消除色塊,讓顏色平滑化的方法。Final Gather 的 Samples 參數(取樣值)影響最終成像的品質,數值愈高、品質愈佳、時間愈久。官網討論區建議,在一般室內場景,Samples 值最好在 64 以上。

官網建議:光子映射較適合用在四周圍蔽的室內場景。

References:
YafaRay 學習筆記

留言

這個網誌中的熱門文章

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

建築類型 住宅: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 3.1.2 : 移動物件原點(origin)

Blender 裡所有的模型物件都有一個原點(origin),Blender用橘紅色的圓點標示物件原點,在選取物件後才看的到(如上圖)。在Sidebar、Item分頁的Transform面板裡顯示的物件位置(Location)座標就是該物件的原點座標;此外,物件原點也是預設旋轉和縮放的基準點。 有很多時候我們希望能指定自己想要的物件原點。比如在製作椅子的時候,物件原點若能位於椅腳接觸地面的平面上。如此在場景中擺放椅子的時候,椅子位置的Z座標就能直接輸入跟地平面相同的Z座標,不用再調整椅子的高程。 Origin to 3D Cursor 移動物件原點的方法之一是將 3D 游標的位置指定爲物件原點: 選取椅子、TAB進入編輯模式,選取椅腳的底面,按 SHIFT_S -> Cursor to Selected (或到 3D Viewport 標題列 -> Mesh功能表 -> Snap -> Cursor to Selected),將 3D 游標移到椅腳的底面(如上圖); TAB回到物件模式,呼叫Object Context Menu【左選:RMB / 右選:W】選Set Origin裡的 "Origin to 3D Cursor"將物件原點移到3D遊標所在的位置(如下圖)(或到3D View標題列 -> Object功能表 -> Set Origin -> Origin to 3D Cursor)。 直接移動原點 Affect Only Origins 我們也可以直接移動原點(很多新手會碰到突然無法移動、旋轉、或縮放物件的情形,就是無意間把這個選項打開了): 啓用 Affect Only Origins 選項有好幾種方法: 到 Sidebar、Tool 分頁的 Options 面板 裡的 Transform 次面板的 Affect Only 勾選 Origins (如上圖); 或到設定列選項 Options 裡的 Transform 次面板的 Affect Only 勾選 Origins; 或按快速鍵CTRL_. 切換。 在物件原點的位置會出現XYZ三軸圖示,表示變換Transform操作只會影響物件原點(如上圖): 按G移動原點;或 按SHIFT_S → Selection to Cursor...