2015/10/10

vlado談V-Ray樹葉材質實作

原文 / Creating a leaf material for V-Ray
作者 / vlado
編譯 / Hammer Chen

如果你仔細看樹葉,你會發現幾件事(當然這要看是哪種植物而定了):
朝下的那面 

朝上的那面
  1. 葉子朝上的那面比較深綠,如果從上面照光,會比較多高光效果(specular)
  2. 朝下面的那面比較亮綠,比較少高光
  3. 葉子具有高的透光性
首先,我用暗背景拍葉子,然後用亮背景拍葉子。葉子朝上的那面,背景是黑的,在白色紙張旁邊 (因為窗戶是藍綠色,所以有點染到藍色)。利用這個方法,我粗略地可以得到葉子正面與背面的漫射反射率(diffuse reflectance) 。在本例中,正面的顏色差不多是RGB 0.0064, 0.0190, 0.0052 ,背面是RGB 0.0438, 0.1043, 0.0066 。我是自JPG圖片中移除Srgb色彩校正後,然後用樹葉的顏色除以紙張的顏色,才得到這個數值的。 我利用VRayColor texture將這兩個顏色輸入到兩個VRayMtl材質中,在以雙面材質球VRay2SidedMtl 把這兩個材質球放進去。你會發現顏色很黑,跟你一般想的不同,這就是為何必須要經過適當的線性工作流程才能取得好的結果。這些顏色還是含有紙張的高光(specularity) 、透明度(translucency) 。我假定紙張的反射率為0.85 ,我將這個數值輸入到兩個VRayColor textures的RGB multiplier中。這顏色也含有透明度(translucency) 。為了獲取正確的漫射顏色(diffuse colors)我們必須要除以反轉的透明度顏色(inverse of the translucency color), 但是這裡我們也不知道透明度,因此我在材質串接的地方增加可調整的地方 ,我以VRayCompTex textures翻轉translucency數值 然後用其除以正面與背面的顏色。




根據這個設定,我可以調整透明度而不需要改變正面與背面的材質外觀。現在,我必須要決定透明度的數值。我照了兩張葉子從頂面照光的照片,其中是由上面拍的 另一個是從葉子底下拍的,我確保兩張照片是相同的曝光設定,這樣我就可以比較相對的顏色亮度。

正面照明正面拍 

背光照背面拍
接著,我將第一張照片,試著在場景中產生direct light使其接近真實光線,當然這只是過度簡化的,但我們不需要完全精確。 窗戶是藍色的,所以最後我用的是偏藍的光源,我也只改變正面材質的高光一點點而已 (Fresnel falloff 與一點 glossy reflections)

一旦我得到這個結果,我從後面算出材質,調整透明度顏色,直到結果接近照片。本例中,最後用的透明度顏色為綠黃色RGB 0.416, 0.510, 0.255。 應該可以調的更好,但我沒有花很多時間在這上面。
我確認了正面的算圖接近原始照片

請注意高光(highlight)部分有點偏藍, 在照片中也有同樣狀況 (原因是光源本身也偏藍)

當然,這個材質是針對我的植物,其他的植物可能會有點不同


這是我產生的材質套用在低解析度的樹上面,並不是很好的例子,樹葉沒有弧度無法展示出高光的效果,但我沒有其他樹木可以測試,而且我用的家庭植物不適合用在這個低解析度的樹上面,我應該要用正確的樹木葉子,才能產生更精確的樹葉材質。有任何問題或是意見,請寫信到vlado@chaosgroup.com 或是訪問論壇的樹葉討論串

[延伸閱讀]
VRay GGX材質實例:更寫實的高光

VRay之父vlado談V-Ray 3.0參數設定(影片逐字稿)

No comments: