- 最后登录
- 2024-6-3
- 注册时间
- 2009-10-16
- 阅读权限
- 100
- 积分
- 18803
- 纳金币
- 17488
- 精华
- 1
|
Virtool虛擬實境運用
完成在Max所製作3D模型的製作之後,我們便可一開始的進入場景的整合階段與場景與互動程式,我們使用的是Virtools這一套由虛擬實境引擎來做開發。先將建立好的3D檔匯入Virtools的環境中,接著開始做對位、打光、動作編輯等基礎工作,撰寫適當的互動程式,再以Virtools提供的Building Block來設計我們所需的功能
1.模型檔案置入Virtools
如果在Max中所做的模型已經完成(參考圖1、參考圖2),便可以進行將模型從max匯入到Virtools的工作了。
首先在Max輸出Virtools格式 *.MNO檔,有兩種方式一是直接輸出整個檔,另一個是輸出所選取的物件,建議燈光的部分不要包含在輸出的檔案中,在Virtools中並不會使用到Max中的燈光。(參考圖3)
2.模型檔案置入Virtools並設定基本環境
Step1.
首先Import從Max中輸出的 *.NMO檔案。(參考圖4)
此時發現第一個情況物件大部分是為黑色物件狀態(參考圖5),這是因為在Virtools中並不會使用到Max中的燈光。
Step2.
此時可先把在Virtools中的環境色調(參考圖6、圖7),調成為場景所要營造氣氛的色調,此時整體的亮度會依照所調整的色調呈現出來,透過圖8已經可以正確看到我們所匯入的3d模型。。(參考圖8)
3.Virtools中鏡頭的建立
Step1.
在Virtools中所提供的範例中有一些不同的鏡頭,因此採用Free Camera,並在此鏡頭的特性移動為鍵盤方向鍵,設定轉動由滑鼠控制,並修改方向鍵來做前後及左右旋轉的功能。(參考圖9)
Setp2.
視窗的鏡頭處於Free Camera 透過鏡頭的設定調整到適合的視角(參考圖10),並確定鏡頭能看見遠處的物件。
移動時的速度及鏡頭轉動時的速度過快或過慢,接下來說明操作以及速度的調整。
Step3.
修改方向鍵所控制鏡頭的功能(參考圖11)
方向操控的修改調整,在鏡頭的Script中Switch on 按滑鼠鍵兩下打開裡設定,對話框中會有四個KEY依照1 2 3 4的順序的設定為 前 後 左 右,你可以隨意修改成您所要操作使用鍵。(圖12)
Step4.
移動時的速度調整,同時會發現數值的大小與Max建模型時的大小息息相關,模型越大時在Virtools的值就相對越大,指到Multiplicatio快速按滑鼠左鍵兩下,出現對話框調整 Translation Speed的值,可以改變移動時的速度。(參考圖13)
鏡頭轉動時的速度, 到Multiplicatio快速按滑鼠左鍵兩下,出現對話框調整Degree的值,就可以改變滑鼠控制鏡頭轉動的速度。(參考圖14)
Step5.
利用Building Blocks中的Rotate將左右鍵改回鏡頭的旋轉並修改其參數(參考圖15),
設定結束後,便將鏡頭所需要的功能完成。
4.設定物件碰撞功能
Step1.
先選取所有鏡頭所會碰撞到的物件,點選後按滑鼠右鍵,選擇New Group,此時產生一個Group進行命名為『物件碰撞』。(參考圖16)
Step2.
設定鏡頭跟物件碰撞的關係,只需在鏡頭的scrip中設定一個值即可,此時鏡頭與物件就有了碰撞功能 ,Virtools視窗右下角有PLAY的按鈕,試試看切記當要設定其他工作時得關掉,遇到牆碰撞的物件不會有穿過的情形了設定完成後,鏡頭與物件便有了碰撞功能。(圖17)
5.Virtools中地板設定
Step1.
再次提醒Virtools視窗右下角有PLAY的按鈕,記得切換回來為箭頭的形狀,這樣才能進行我們的設定,為了讓鏡頭較符合第一人稱的視 角,所以需把鏡頭與地板的關係做定義,可以固定在離地板某個高度,這樣一來就不會有剛剛設定完牆面碰撞時鏡頭可以自由改變高度的情況。首先我們先把要做地 板碰撞功能的物件選取,按滑鼠右鍵選擇add attributes,定義它為地板的屬性。(參考圖18,19)
Step2.
定義地板後,回過頭到Camera Script中做連結以及簡單的設定,在Script中滑鼠移動到灰色沒有指令的地方,同時按住Ctrl鍵滑鼠左鍵按兩下,此時會出現一個功能小視窗,在輸入區中輸入字的頭一個字O,就有一串相關功能,選擇Object Keep On Floor V2。(20)
一樣簡單的調整一個參數,鏡頭離地面的高度,記得需與鏡頭做連結,這樣就完成了鏡頭在碰撞模型裡面移動的設定。(圖21)
6.虛擬空間碰撞
設定鏡頭在只能在原先所設定的範圍內移動,使其不至於跑出範圍空間外,造成不必要的錯誤。
Step1.
在Top視角新增一個Gird並調整其所需要的格點大小,並縮放到適當大小,放置到所需要的位置,在Front視角也必須將Grid做適當調整。(圖22、23)
Step2.
調整完成後先切換到Top視角,在Grid中新增一個新圖層並給其顏色,並拖曳到Grid使用區塊,點選所設定的名稱後便可開始在左方格點區編輯所需要設定碰撞的虛擬空間。
Step3.
編輯完成後,回過頭到Camera Script中加入layer slider,並設定所要做碰撞的Grid,此時攝影機和Grid便有了碰撞功能。
最後將Grid隱藏便完成了虛擬空間碰撞的功能。
7.在場景中加入音樂
Step1.
在VirtoolsVirtools Dev 3.0DocumentationVirtoolsResourcesSoundsMusic裡將所準備的音樂放入該目錄下,便可以在Virtools Resources裡將Sounds目錄下將音樂拖曳到場景中。
Setp2.
在Builder Block 裡將Sounds分類裡Basic目錄下的Wave Player和分類裡Control目錄下的Volume Control一起放入Level Script中。
Step3.
在Wave Player中Target(Wave Sound)欄位中選取所加入場景中的音樂檔案。如要音樂重複撥放可選取Loop的選項,在Volume欄位中填入適當的數字,以控制音樂撥放時的音量,1是最大聲,0是最小聲。
8.點擊物件(門)對應效果
Step1.
點選校門口欄杆,編輯該物件的Script,在Builder Block 裡將Logic分類裡Massage目錄下的Wait Massage及Loops目錄下的Bezier Progression放入門口物件的Script中並設定Wait Massage參數為onclick。
Step2.
在Builder Block 裡將3D Transformations分類裡Basic目錄下的translate放入門Script中,並與Bezier Progression做連結。
Step3.
在該物件Script中的空白處按右鍵加入add Parameter Operation,並設定其參數。
Step4
點擊multiplication左鍵,設定其參數使門往右方x軸移動
Step5
設定完成後,在撥放狀態用滑鼠點擊門便會有移動效果
|
|