2009年4月23日 星期四

如何在Renderman Lighting環境下去Set key

用Renderman打燈基本上是個很不賴的選擇,整個架構的設計對Lighter來說有很多很細膩的控制選項來加強打燈的精緻度。(如附圖)例如在Light shader(等同於Maya燈光的Attribute)燈光強度的控制bar下有個叫作Contribution的選項。就有細分了Diffuse、Specular等細目,讓我們可以去各別控制強度,提昇打燈的順暢性。不過,Renderman還是有些缺點,例如無法像maya一樣的直接在Intensity上面sey key,不過還好Renderman提供了另外一個辦法讓light shader的KI連結到Maya燈光上的Intensity上面sey key來控制不同frame燈光的強弱 方法如下:

1.先把原本Maya light的Attribute的intensity數值改成跟Renderman的light shader的KI的數值一樣

2.把Renderman的light shader的KI按左鍵從"internal Valeu"模式改成"TCL Expression"模式
"


3.在KI鍵入 [mattr "bulbShape.OnOff" $f]

4.把滑鼠游標移到Attribute的intensity點擊控制bar後,打開Script Editor把下面setAttr "camSpotLight13Shape.intensity" 0.9;語法裡的"camSpotLight13Shape.intensity"這段字 給copy 貼入KI[mattr "bulbShape.OnOff" $f]裡面參數替換成[mattr "camSpotLight13Shape.intensity" $f]

5.接下來就可以在Attribute裡面的intensity set key了。

2009年4月22日 星期三

如何統一Shader的基本亮度不至於過亮或是太暗


我想每個Lighter在打燈的經驗裡都有遇過在同個shot裡面,同一盞spot light打下去,有些角色模型Render出來太over,有些角色則又會暗部太黑沒有細節。以往遇到這類的問題,最常做的可能是做Light linking 又或者用拆layer打燈的方式來避開這個問題。不過要是遇到在同個模型裡面有些部分容易過亮有些部位又過暗,上面的解決方法就會英雄無用武之地了。

這些問題我自己也都有遇過,同樣的也耗費我很多時間去處理這樣的問題。所以最近我常在想怎樣才能避免這樣的問題的產生。後來終於讓我想到個可以降低上面所說的問題的機率。那就是在做shader的時候,除了使用統一的燈光去制定之外,(相信我,有很多時候不見得每個模型都可以有辦法使用同一組燈光去做shaderset) 還可以把攝影裡面翻拍跟印刷常用的亮度階調表拿來作為shader製作時 的一個亮度管理。

方法其實很簡單,在製作的模型底下放個PlaneAssing已經事先做好的明度階調表,記得plane本身要把Attribute裡面的Receive Shadowoff掉。

這樣就有一個統一的表準可以作為shader亮度的管理,最重要的是如果shader是由不同人去set的,用這樣的辦法也可以避免每個人設定出來的Shader的基本亮度會差異太大。此法最重要的是要維持每個shader的一個基本亮度,避免在同一光線環境下,Render出來的角色有些太暗有些過亮。

圖片來源:ArchShaders vol.2 2006

2009年4月20日 星期一

電腦動畫製作流程的基礎介紹、觀念與建議

電腦動畫整個流程可粗分前置設定跟後製製作。前置設定包含了劇本、美術設計、分鏡繪製等項目。
在此主要跟各位分享後製製作的部分
這個部分又可分為Model、Set up、Animation、Texture、Shader、Light、Render、Effect、Compe等項目。
(通常每家公司的分法或是名稱都會有些差異。)
關於這些項目在各家公司的部門分類,通常都會有些小差異。大致上通常是分為:

(1)Model部門:負責模型的製作。

(2)Set up部門:負責rigging的設定,把每個角色或是場景裝上合適的控制器交給Animator使用。

(3)Layout部門:按照分鏡的Set,把每個shot進行場景安排以及鏡頭運鏡設定。

(4)Animation部門:負責把設定好的layout檔案打開,按照劇本的描寫去制定每個角色的動作。
等到動作制定好進入打燈設定前,通常還會有個AF部門(Animation Final)

(5)AF部門(Animation Final):負責檢查模型跟模型之間有無穿幫的問題,
還有一些問題排除的工作,以保證Light部門拿到的animation檔案是沒有問題的。

(6)Light部門:主要是負責把導演需要的燈光氣氛打出來,還有根據合成部門的需求去Render出合成師需要的layer跟pass。

(7)Effect部門:根據劇本的描寫與分鏡的Set,製作出整個動畫裡面需要的3D特效,並交給Comp部門使用。

(8)Comp合成部門:負責把Render好的layer、pass或是特效,做最後的合成跟色調的統一最後輸出影片。
不過有些公司是把Model跟Shader設定分在同部門,有些是把Shader跟Light還有Render跟Comp分在同部門,
基本上每家公司的分法都不見得一樣。主要是看每個案子的需求跟習慣來做分類。

不管項目名稱跟部門怎麼分法,大家在學習上,除了了解自己所專攻的項目之外,
還要去了解自己負責的項目對其他部門的項目的影響,以及那些項目製作會被我們所負責的項目給影響到。


以Model來舉例,並不是做出一體成形、精緻高面數(high polygon)的模型就表示你是好的模型師。
就一個好的模型,應該要注意面數是否會過高而影響後續Render花費太多時間,
還有模型做成一體成形對後面shader的製作或是燈光的設定會產生一些製作上的困擾 。
所以一個合格的模型師應該要去了解那些模型需要比較高的面數,
那些模型角色可能在畫面呈現的時候,只是驚鴻一暼,不需花費太多時間製作。
總歸一個重點就是瞭解pipeline(製作流程)之間的互相關係跟影響。

不管你是負責哪個項目的製作。你需要去了解怎樣才能把時間花在刀口上,
這一切的依據除了各組組長會去做衡量之外,對於每個項目的製作所需要花費的時間跟精緻度,
全都是要按照劇本的描寫、分鏡的設定及最後導演的需求來做為製作時的一個依據。