月曜日, 6月 28, 2010

3D MAX 立體視用攝影機架設法

maya、lightwave、modo,shade統統都有內建的立體視攝影機
我用的3D MAX就是沒有內建的立體視攝影機
既然這樣,今後只好自己創造
這個故事就是描寫擁有...(ry

此教學來自139期CG World 2010年3月號刊

雖然第一次翻譯,不過意思應該有到啦...

1.建立三個攝影機
首先先建立三個攝影機。分別為中央攝影機(CamC)、左眼用攝影機(CamL)跟右眼用攝影機(CamR)。
以中央社影機決定畫面,LR攝影機則是用來渲染,為了比較容易分辨,LR攝影機分別離中央攝影機左右一點距離。
為了不影響LINK,中央攝影機的目標則往後面移動一點距離,最後LR攝影機LINK到中央攝影機當子物件。
Highslide JS

2.製作CrossPoint的導引物件
接著在圖二裡標示的地方建立一個導引物件,這是用來引導平行法與交叉法的物件。
Highslide JS

3.讓CrossPoint LINK到父物件
在交叉法的時候,因為想讓LR攝影機的目標能跟導引物件一起移動,所以就在中央攝影機的光軸上建立一個Point,然後設為LR攝影機的目標跟導引物件的父物件,接著再把Point設為中央攝影機的子物件。
Highslide JS

4.中央攝影機與LR攝影機的連動
先選擇左攝影機後按右鍵,選擇Wire Parameters,指定Object(Target Camara)→FOV,然後連到中央攝影機,同樣指定Object(Target Camara)→FOV後會跳出Paramete Wiring的對話框。
然後按下對話框中CamC指向CamL的箭頭,接著再按Update。這是為了將中央攝影機的數值傳給左攝影機,且是不可逆狀態。
接下來跟上面的步驟一樣,不過這次要指定的是Transform→Roll Angle
設置完別忘了右攝影機。
Highslide JS

5.在中央攝影機追加Attribute
這次要增加三個Attribute,首先是切換平行法與交叉法的CheckBox:先選擇Animation→Parameter Editor,Parameter Type選Boolean,UI Type選CheckBox。輸入適當的名字(範例為converged)後按下Add即增加完畢。
再來是增加攝影機間的距離:一樣選擇Animation→Parameter Editor,Parameter Type選Float,UI Type選Spinner。輸入適當的名字(範例為Interocular dist)與預設值6.5(cm)後按下Add即增加完畢。
最後是攝影機與畫面(CrossPoint)選擇Animation→Parameter Editor,Parameter Type選Float,UI Type選Spinner。輸入適當的名字(範例為Screen dist)與預設值300(cm),Range部份從0到99999(只是要一個很大的值),確認後按下Add即增加完畢。
Highslide JS

6.CrossPoint的Wiring
選擇CrossPoint後按右鍵,選擇Wire Parameters,指定Transform→Position→Z Position,然後連到中央攝影機,接著指定Object(Target Camara)→Custom_Attribute→Screen dist後會跳出Paramete Wiring的對話框。
然後按下對話框中CamC指向CrossPoint的箭頭,CrossPoint的算式輸入「-Screen_dist」接著再按Update。
Highslide JS

7.LR攝影機間距離的Wiring
先選擇左攝影機後按右鍵,選擇Wire Parameters,指定Transform→Position→X Position,然後連到中央攝影機,Object(Target Camara)→Custom_Attribute→Interocular dist後會跳出Paramete Wiring的對話框。
然後按下對話框中CamC指向CamL的箭頭,CamL的算式輸入「-Interocular/2」接著再按Update。
設置完別忘了右攝影機,而且"-"值要拿掉。
Highslide JS

8.用Float Script來切換平行法與交叉法
首先開啟Curve Editor,在左攝影機的目標的X Position按右鍵,選擇Assign Controller,Assign Fliat Controller對話框跳出後選擇Float Script再按ok。
接著Script Controller對話框開啟後,先增加conv跟dist兩個變數(名稱隨意)。選擇conv按下Assign Track後會出現Track View Pick對話框,選擇中央攝影機的「Custom_Attribute→converged」後按OK。這樣變數conv就會代入converged,接著一樣把dist代入中央攝影機的Interocular dist。
然後在Expression輸入「if conv then 0 else -dist/2」。如此一來勾選中央攝影機的converged的話就會是交叉法,反之則是平行法。算式的意思是「conv為真即取0值,反之則取-dist/2的值」。
設置完別忘了右攝影機,而且的「if conv then 0 else -dist/2」"-"值要拿掉。
Highslide JS

9.凍結LR攝影機
基本的設置這樣就完成了,但為了不在之後調攝影機位置時造成困擾,通常會凍結左右攝影機。最後別忘了要確認一下是否成功。
Highslide JS

其實還有一篇關於AE的設定
不過那個我還沒測試過,而且光是翻譯這篇就花了我兩個小時左右...(翻譯還真不好當阿)
所以就等下次吧...

0 件のコメント:

コメントを投稿