2014年7月27日


Houdini Mantra 的 image plane 跟 Maya 裡的 image plane 根本不是同一件事。

Houdini Mantra 的 image plane 其實就是一般 render engine 常見的 AOVs,也就是 Mental Ray 所謂的 render passes.

Mantra Surface 使用了新的 Surface Model。裡面已經擺好預設的 parameter 可以使用,如果要對應到 Mental Ray 常用的 render passes...

Diffuse = direct_diffuse
Specular = direct_reflect
Reflection = indirect_reflect
Refraction = direct_refract + indirect_refract

Indirect = indirect_diffuse

Diffuse Material Color = diffuse_color_noshading

以上大概只有 diffuse_color_noshading 不在預設的 image plane 裡,也是因為只有它不在 Surface Model 中,所以一定要 Mantra Surface 才有辦法使用。

Mantra 所謂的 specular 其實就是反射燈光,這是一個「批逼啊」的概念。反射折射前面加上 direct 都是直接和燈光有關,indirect 是間接就和物體有關。

比較麻煩的是 Direct Irradiance,這東西我在 Surface Model 裡找不到,只能自己動手拆。

走進 Houdini 的 shader 就像在玩全面啟動,一定要保持冷靜,切記!心若冰清天塌不驚。

深呼吸,首先在 Mantra Surface 裡找到 Surface Model



名字藍色的 Surface Model 代表可以再進去,但是如果要修改,請先滑鼠右鍵 -> Allow Editing of Contents
進去之後再找到 diffuse 區塊



接著發現重要的 Multiply



仔細觀察可以發現它乘上了從左上方導入的 diff_clr,因為是 Multiply,乘法,可以將它拆成兩截,把和 diff_clr 的相乘單獨擺在後面的 Multiply。然後用 Direct Lighting 將前面 Multiply 的 fernel 拆出



如果用 arnold 或是 sitex AIR,以上都當我沒說。

2014年6月25日


最近很喜歡他們 (Merk & Kremont) 有點瘋狂的風格





尤其是 Miami 82

2014年6月24日

linear workflow...why?


很多地方都會教你怎麼在 CG 軟體裡維持 linear workflow,但是你可曾想過...WHY? 為什麼我一定要走 linear workflow?為什麼我在 Nuke 的 Read node 選對了 color space 看到的顏色卻和客戶附帶的原始素材差這麼多?WHY???

color space 就像一副有色眼鏡,如果今天在一個很純潔的環境用一盞白色的燈打在白色的板子上,然後請你帶上一副紅色的眼鏡。我問你「這塊板子是什麼顏色?」,也許你會不加思索回答紅色,也許。也許我們該把這個問題釐清得清楚一點,如果我分別問你「這塊板子實際上是什麼顏色?」和「從你的眼鏡中看到的這塊板子是什麼顏色?」,這樣答案就變得非常清楚-『這塊板子實際上是白色,但是從眼鏡裡看過去是紅色』。如今關於這塊板子的顏色有了兩種答案,然後我們把眼鏡換成綠色的,再同樣問了這兩個問題。答案會是-『這塊板子實際上是白色,但是從眼鏡裡看過去是綠色』。在兩個答案之中有個答案永遠是一樣的,就是實際上板子的顏色永遠是白色,這是真理,這是科學現象。如果我們利用科學的方法測量這個板子在環境中的顏色然後放進電腦裡用數字表示,這就是所謂的 raw data,也就是 linear color space,它是關於真實世界中的色彩訊息最標準的值,它不受到任何其他因素的影響。接著我們試圖去讓這個值在螢幕上顯示出來,讓大家可以透過螢幕看到科學記錄下來的顏色,就在這個時刻!!我們發現了一件事....

挖操!太暗了吧!我們用肉眼看到的可不是這樣啊!

是的,因為螢幕構造的原理讓當初我們記錄下來的顏色看起來很暗,這是螢幕的錯。為了在螢幕上看到我們記錄下來的顏色能夠更接近肉眼所看到的環境,我們毅然決定將原本紀錄的顏色調亮,這就是 sRGB。

如果問題不是只有亮度呢?如果在一個白色的環境放一顆白色的球用一盞白色的燈打下去,再用你的寶貝攝影機拍個特寫,然後放到電腦裡看。你發現看起來有點昏暗,亮的地方瀰漫著一種淡淡懷舊的黃色,暗的地方有種詭異的綠....這...

『這...這...這太棒了!!完全是我想要的感覺!』你興奮的如是說。(難怪它是你的寶貝攝影機)

但是你覺得這顆球太孤單,想用電腦做一個 CG 的球放在它旁邊,用合成的方式。在 Maya 中,你唯一會用的 CG 軟體,白色的牆壁和地板、白色的球、白色的燈....很科學,很符合當初我們設定的環境。但是這樣卻算不出來淡淡懷舊的黃色和詭異的綠。該死!怎麼調顏色都不像你用寶貝攝影機拍下來的畫面,完全不對,就算差一點也不是你想要的那種感覺。所以你就打電話幹爆攝影機廠商,說用他們家攝影機拍出來的畫面,不科學。

藝術家要的 fu 當然不科學。攝影機廠商也知道這一點。

攝影機廠商做了許多測試,然後給了你一個數據,這個數據就是告訴你用他們家攝影機拍出來的畫面跟所謂的「科學」差了多少,這就是寶貝攝影機的 color space 和 linear color space 的差距。有了這個數據,你就可以把本來拍攝出來很有"fu"的畫面,轉換成符合科學紀錄的顏色。或是也可以將"很科學的軟體(Maya)"算出來的圖用那組數據轉換成很有"fu"的畫面。如此一來,一切都搭上了。

Nuke 是完全面向 VFX 的軟體,它知道這一點,大家都要遵循 linear workflow,否則在合成的時候會出問題,絕對不是只有剛剛那種感覺不感覺、科學不科學的問題。CG 合成在很多時候圖上所包含的資訊不是只有顏色,還有更多的數據,它不能依照 color space 去做改變的。z-depth 不能因為你用 sRGB 就讓物體變得更遠,它必須要避開 color space 的影響。所以當你在 Read node 對素材選擇正確的 color space 之後你看到的會是-linear color space(Nuke 會根據你所選擇的 color space 將素材轉換成 linear color space)。因為你必須在這個 color space 底下做事,處理從 CG 軟體過來的圖做合成,然後在最終的時候,再轉換回去。

將 linear color space 轉換成「很有感覺的 color space」是最後一關才要做的事。sRGB 也不例外。尤其是現在 render pass 或 AOV 大行其道的年代這點更為重要。原本只是一張 sRGB 的圖,卻因為拆成了許多不同的 pass 結果在合成的時候變成 sRGB x N 或是產生像宇宙般不停擴張的 alpha matte。這就是為什麼地方的動畫師需要 linear workflow。




Maor Levi - Together




歐耶~~

Mobile Edition By Blogger Touch
Template Designed by Douglas Bowman - Updated to New Blogger by: Blogger Team
Modified for 3-Column Layout by Hoctro - Customized by Chordee