Virtools工作流程

製作3d模型大概是最基本的工作,但受限於目前一般PC硬件運算能力與Virtool本身所能程受的負荷範圍,

因此3D模型不能作到非常精細,不然會導致運作時系統不穩定而當機。一般而言,整個場景作出來的polygon面數

最好是維持在10000~15000面之間,同時貼圖亦不要超過10mb左右爲最佳。

 

1.利用地形圖作爲描繪底圖

完整的Virtools虛擬現實項目工作流程

我們調閱臺大周圍地區的數值地形圖,將整個椰林大道範圍輸出成一張底圖,以利製作3d模型。


2.拉出各建築物量體

完整的Virtools虛擬現實項目工作流程

利用地形圖當底圖後,再利用Polygon中Create Polygon Tool、Split及Extrude等功能,將量體拉出。建築物量體的高度,由於缺乏數據,因此以三角函數測量的結果爲數據。

3.細修模型

完整的Virtools虛擬現實項目工作流程

有些模型量體不大,但卻重要且型體較複雜就要作細一點,但是在作時一定要控制polygon的面數,以免作得太細導致數據量暴增而使Virtool無法負載。

完整的Virtools虛擬現實項目工作流程

每polygon面要記住不要有內角超過180度的情形發生,不然會形成不合法的面,造成顯示上的問題

4.其它注意事項
(1)看不見的面﹝如背部﹞要刪除以節制polygon面數。
(2)非特別重要的樹木植栽不用作成模型,最後到Virtool以3d Sprite方式作,以控制資源。
(3)模型確定後記得把History刪除,然後作最佳化處理(Optimize),如此一來將模型轉到Virtool後纔不會變形或扭曲。拍攝得到的相片,常因爲有些干擾﹝如被樹木遮擋﹞或是拍攝時的人爲因素,使得照片還需要經過影像處理才能拿來當作3d貼圖使用。而影像處理的軟件很多,其中功能最爲強大的,應該就屬Photoshop了,而以下就以Phostoshop作爲我們的工具,而以下就以行政大樓的照片處理過程,概述我們對於相片處理處理的作法:

完整的Virtools虛擬現實項目工作流程

(這是未處理的相片)

由於每張照片會因爲拍攝角度、時間及位置不同,使得其色階色相及色調有不同的結果;因此,第一部即利用Photoshop把照片的色階、色相、色調調整得和諧點。

完整的Virtools虛擬現實項目工作流程

 

完整的Virtools虛擬現實項目工作流程

將照片中我們需要的部分利用photoshop調整其大小、位置及修正扭曲部位等。

完整的Virtools虛擬現實項目工作流程

在Photoshop7.0之後,有兩個很方便的工具:Healing Brush Tool及 Patch Tool;它們的用法有點像圖章,但跟圖章不同是它們在塗抹後便會自我修補塗抹範圍,相當方便。因此,利用它們來去除不要的部分。如:很多花草遮着我們需要的部分時,?就可以用他們來修改。

完整的Virtools虛擬現實項目工作流程

最後,利用Dodge、Burn、Sponge等工具,增減某些部位亮暗程度即可。

完整的Virtools虛擬現實項目工作流程

(最後完成的一張貼圖元素就變成如此)
5.貼圖
  在製作3d模型時我們就已經把polygon模型的UV拆理好,因此我們在作貼圖時,只要將上述處理貼圖元素利用Photoshop把他們全部對應到UV範圍內,最後再輸出成一張圖即可。但要注意的是,最後的貼圖最好是2次方的倍數,如:256*256、512*512或是1024*1024以上;因爲2的次方倍數的圖在被Virtool讀取時,速度較快

 

完整的Virtools虛擬現實項目工作流程

(拆理好的UV)

完整的Virtools虛擬現實項目工作流程

(貼圖元素對應UV)

完整的Virtools虛擬現實項目工作流程

(3d模型貼圖完後的樣子就是如此)
  隨後所有的模型皆以此方式處理,此外需注意的是,Virtool本身只有兩種材質球: Flat及Gouraud因此在3d軟件內你所指定的材質將會在輸出後自動換原來的Phong, Lambert, Blinn, Anisotropic, PhongE在Virtool時將會轉爲 Gouraud。最後將貼完圖的模型,利用virtool的轉換軟件,全部加入virtool的場景內,我們就可以作交互式的設定。而我們目前所作的設定很單純,主要有第一人稱的攝影機之移動與旋轉、場景活動範圍界定、還有樹叢的設定等。
型輸出Virtool可讀的檔案格式
  將模型輸出成virtool可讀的(.nmo及.vmo)檔格式,需另外加裝各3d軟件的輸出程序。而我們是用Maya5.0作模型,因此需要安裝Maya5.0匯入virtool的程序,隨即便到Maya的Windows/Setting/Preference/plug-in Manager中勾選virtool的外掛程序。然後打開已作好的場景模型,到File/Export All即如下圖所示:

完整的Virtools虛擬現實項目工作流程

    在這選單中,你可以指定你要輸出的項目及內容。包含對象層極關係(Hierachy)、模型幾何面(Mesh)、材質(Texture)、攝影機(Camera)、燈光(Light)、法線(Normal)及動作(Animation);並可以依情況輸出成Character或是一般等,此外亦可分別指定要輸出選擇的模型或是全部。

完整的Virtools虛擬現實項目工作流程

指定好項目後,將檔案存取到對應的目錄,在此要注意輸出的項目爲何,再去對應目錄名稱,例如你要輸出角色就建議輸出到Character數據夾,其它場景中的對象則存到3d entity中,因爲在Virtool中有一些行爲模塊是有各別針對Character專用的。此外,材質與聲音等,亦建議存取到對應的目錄。 ◎在輸出前建議先到Virtool內建立一個Resource Data夾



其它輸出時注意事項 :

●Nurbs及Subdivision的模型無法支持,因此請轉成polygon模型後再輸出。
●所有的線,如spline作爲path用的線無法支持,這點你可以在Virtool中利用Create Curve禰補。
●Set及Partition可支援。
●支持同一對象貼有不同材質的情況。
●支持模型Smooth及Break從0~180。
●支持模型的貼圖UV位置及方式(Planar, Cylindrical, Spherical, and Automatic mapping)。
●支援Vertext顏色及Alpha。
●支持group、parent及root的關係。
●不支持三視角攝影機輸出,其它攝影機將轉爲Virtool的Target Camera並可保有其原來攝影機動畫。
●燈光方面,Virtool支持Spot、Point、Directional的光,而Ambient會轉爲point,其它則不支持。
  啓動Virtools,進入的工作窗口畫面,選擇上方指令選單的Resources/Import File﹝或是Open Resource )a,找出並匯入剛剛輸出的NMO檔案。

完整的Virtools虛擬現實項目工作流程

 

完整的Virtools虛擬現實項目工作流程

調進來時,模型都會黑黑的,那是因爲還沒有調整物體材質本體光(emissive),或是燈光太弱。只要選擇物體按鼠標右鍵選Material Setup,選擇 emissive選項後,調整色階後就會展現正常狀況(如下圖)。

完整的Virtools虛擬現實項目工作流程

以此類推,我們將所有場景的對象都輸入後,便可得到下圖狀況。而先前我們有提及,我們需要的面只有椰林大道兩側,因此建築物其它面,如屋頂及其它三側並沒有作得很完整,一方面可以降低整個場景的polygon面數以維持效能,二者我們攝影機只有在椰林大道中移動,其它面是看不到的。

完整的Virtools虛擬現實項目工作流程

全部匯進來的狀況就像如此
模型進入Virtools後,就可以作交互式的設定,而Virtool本身就有500多個行爲模塊,彼此間可以搭配串連就可混合出很多不同的互動設定。然本案用到的機能不多,計有碰撞設定、第一人稱攝影機自由移動、噴泉及流水等等。
(一)Virtool行爲模塊

完整的Virtools虛擬現實項目工作流程

Virtools的交互式設定是相當有邏輯性,好像在玩電路板遊戲,或說是把寫程序轉化成一種具像的流程圖,每個關鍵的語彙轉化爲一塊塊的行爲模塊﹝Behavior Building Block﹞,每個模塊身上很多插孔,有輸入插孔(Behavior Input ,用來接收流程上層命﹞、輸出插孔﹝Behavior Output,傳送執行結果﹞、輸入參數﹝Parameter Input,執行前的參數設定﹞、輸出參數﹝Parameter Output,執行前的參數設定﹞,這些行爲模塊是構成一個物體作用的最基本元素,只要各種不同的行爲模塊合理地聯結起來就可以讓3d對象互動起來。
而如何聯結這些行爲模塊,我們可以從下圖來了解:

 

完整的Virtools虛擬現實項目工作流程

上圖就是把幾個行爲模塊連成一個行爲的例子。首先我們要作的結果,是把一個對象(即Eva這角色)放在一個地板上(Floor),然後讓光打在Eva上,讓Eva的影子產生在地板上。而在Virtool我們就是把這樣的概念用幾個行爲模塊去連起來,其中圖上的Charater Control 是角色的動作控制,而ShadowCaster目的在於指定Eva爲影子的投射者﹝燈光參數爲Point Light),而Enhanced Charater Keep On Floor是指定Eva要站在地板上﹝Floor模型增加一個地板屬性﹞。隨後執行的結果就會有陰影產生。而Virtool有500多個行爲模塊可以相聯結。
(二)臺大椰林大道模塊設定
1.設定場景範圍
  由於我們所作的場景集中在部分椰林大道上,因此出了此範圍外,就會穿梆。因此我們首先要定義我的場景範圍,使所有的活動皆在裏面發生。而Virtool提供了一個方便的工具Create Gird,目的是將場景網格化,隨後可以在不同的網格上作不同的設定。
(1)首先利用 新增一個Grid,執行後場景上就會出現一個方塊籠罩在場景上(如下圖),如果在下方黑色網格上塗畫,Perspective View就會出現對應的範圍。

完整的Virtools虛擬現實項目工作流程

 

 因此我們可以利用 完整的Virtools虛擬現實項目工作流程 (增減網格數)、  完整的Virtools虛擬現實項目工作流程 (移動網格區塊)、  完整的Virtools虛擬現實項目工作流程 (放大縮小網格區塊)來調整Grid的影響範圍,使之與我們作的場景大小符合。進一步再去把我們所要作用的範圍塗畫出來。

 

完整的Virtools虛擬現實項目工作流程

最後,針對椰林大到作的區域如上圖所示,紅色範圍爲避免進入的區塊,之後這區塊將定義爲不可進入的範圍,而黑色則爲可活動的範圍。
2.
第一人稱的攝影機
  這個攝影機可以利用鍵盤上的上下左右鍵進行前後左右的移動。此外我們還要使它對應之前勾勒出的場景範圍,當它遇到場景邊緣時,就會自動滑避。

完整的Virtools虛擬現實項目工作流程

 

(1)首先先新增一個攝影機完整的Virtools虛擬現實項目工作流程  ,並將攝影機移動至適當的地點,作爲啓動結果時的預設位置。
(2)到Level Manage/Level/Global/Camera裏選擇剛設的攝影機,然後按鼠標右鍵,選擇Create Script,隨後便會便出現下圖:

完整的Virtools虛擬現實項目工作流程

(3)加入行爲模塊
這部分我們會用到的行爲模塊如下:





行爲模塊

位置

功能


Set As Active Camera

Cameras/Montage/Set As Active Camera

作爲啓動後預設的攝影機


Switch On Key

Controllers/Keyboard/Switch On key

使鍵盤上的某些鍵具有操作功能


Per Second

Logics/Calculator/Per Second

指定某變量的變化速率


Translate

3D Transformations/Basic/Translate

移動


Rotte

3D Transformations/Basic/Rotate

旋轉


Object Slider

Collisions/3D Entity/Object Slider

使攝影機遇到場景邊緣時會滑開
(4)連結
隨後我們將這些行爲模塊連接成下列行式:

完整的Virtools虛擬現實項目工作流程

這樣的連接邏輯爲:我們設一個新的攝影機,使這個攝影機在啓動所看到畫面的攝影機(Set As Active Camera),且讓這攝影機的移動可以鍵盤的上下左右鍵來控制(Switch On Key)。而爲了控制攝影機的移動速率,我們各別在上下(控制攝影機的前後移動Translate)、左右(控制攝影機的前後移動Rotate)加了Per Second來控制相關參數,並在命令完成後連到Switch On Key使成爲一個循環。除此之外,入Layer Slider 讓它遇到場景邊緣時會自動滑開。

完整的Virtools虛擬現實項目工作流程

●最後完成後,我們都要選取攝影機作Set IC For Selected的動作,IC即Initial Condition,目的在於把現在對象的位置狀況設爲最初的情形。

Virtool除了可以針對場景上的對象各別作複雜的行爲模塊聯結外,對於某些重要元素,如場景上的花花草草及水流等等,亦提供了相當方便的行爲模塊來操控。
一、流水製作

  完整的Virtools虛擬現實項目工作流程   完整的Virtools虛擬現實項目工作流程   完整的Virtools虛擬現實項目工作流程

 其實流水的概念只是把一張水的圖,利用Virtool內建的Texture Scroller,讓其在某個向度上不停地作循環移動,就可以達成了。
二、噴泉

完整的Virtools虛擬現實項目工作流程

噴泉的設定也是很簡單,我們只是叫了Building Block/ Particles /Point Particle System到場景,它是模擬粒子動力學的工具。原理是把一張圖(即噴泉水的圖)當成一顆顆的粒子,然後以一個發射器來發射,只要調整想要的發射方向、速度及重力環境等相關參數後,便可以簡單模擬出噴泉的樣子,這種工具常常用來作射擊遊戲的子彈效果。
三、植栽
  植栽說起來可以說是一種障眼法,原理就是利用圖片的屏蔽,將不需要的地方隱藏起來,而且使這張圖片永遠面向攝影機即可。而這種方式即是用Virtool中的3D Sprite來完成。

完整的Virtools虛擬現實項目工作流程

1.首先需在影像處理軟件上把圖片不需要的部分上單一顏色(如黑色),再存盤(建議存成有帶alpha)成圖檔。
2.把這張圖放在Resource Data下的3D Sprite目錄。
3.進入Virtool後,直接從3D Sprite中的圖文件用鼠標左鍵拖拉到場景中。
4.在窗口中選擇該3D Sprite(即該圖),按鼠標右鍵進入3D Sprite Setup中。
5.在Sprite Type中勾選Y Rotate(代表只能旋轉Y軸)及Pickable(可選取)。
6.再選該圖按鼠標右鍵到Texture Setup,點選Pick Color,然後移到圖中屏蔽部位(如上圖的黑色部分)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章