第三章 研究方法
第五節 虛擬實驗室模組之設計
Virtools是一套3D即時互動開發軟體,具備直覺式圖型開發介面,使用者可 以運用超過五百個內建的互動式模組與模型、文字、圖片、影片及聲音整合在一 起,產生動畫效果,能製作各式3D互動多媒體,例如3D遊戲、虛擬實境導覽、數 位學習、物品的展示、模擬訓練、數位藝術……等。本物理虛擬實驗室研究採用
因virtools具有下列特性,本研究採用此3D整合軟體:
1.基於獨立物件、資料和行為的編程系統,透過組合物件和建構模組創建應 用程式。
2.直覺式圖形開發介面、即時視覺化視窗、圖形化物件導向編程,開發人員 只需拖曳建構模組即可建構出豐富的互動應用程式。
3.在編輯預覽視窗的面板中,可顯示目前正在編輯的場景,即時檢視包括3D 物體、燈光、攝影機等的編輯,修改狀況與成果。
3.透過外掛輸出,可輸入不同類型 3D 模型物件和動作,且支援程式編寫 Vertex 頂點和 Pixel 像素的 Shaders 著色技術。
4.用高度直覺的PCS(Product Context Scenario) 製作流程,包含初期產品 設計及虛擬實境模擬、3D互動操作等,創造具有高互動性的虛擬實境。
5.內建超過500個以上的互動式建構模組(Building Block,簡稱BB),只需 拖曳需要的建構模組,即可編輯產生互動應用程式,以達到編輯者要的用 途效果,適合無程式背景技術人員或有興趣者的需求。
6.可利用VSL(Virtools Script Language) ,在VSL環境下用Virtools SDK 來編輯自己需要的建構模組或原始碼進行編修,另外也可存取多樣化的媒 體格式。
7.Virtools提供一個開放的架構,可相容於多種技術的3D檔、圖像檔、影片 檔、音效檔格式。例如*.3ds、*.wrl、*.Avi、*.Png、*.Tiff、*.Wma等。
8.藉由外掛軟體Virtools 3DVIA Player,可以將Virtools在網路上行為和 描繪的引擎進行錄放,使得用Virtools製作完成的產品,可以在網頁播放 或提供下載。
二、Virtools4.0基本介面介紹
圖3-5-1 Virtools4.0操作介面圖 a. 功能選單(Menu Bar)
功能選單共分為五個部份,分別為File(檔案)、Resources(資源)、
Editors(編輯)、Options(選項)、Help(說明),主要目的是控制各項檔案資 料的存取管理。
b. 編輯預覽視埠面板(3D Layout):
此視窗是 Virtools 的主要編輯預覽視窗,所有的編輯過程都可以在這 個視窗中看見,啟動 Virtools 軟體時,會自動成為透視視窗,視角的改變 只要按下上方視窗文字旁的小三角形,就會出現下拉式的選單,即可選擇變 換為所需的視角。
c. 資源資料庫區(Resources & datas):
在這個區塊中是Virtools最重要的核心,可分為建構模組(Building Block)及素材庫(Resources)兩大類,建構模組是一種將常用的指令程式模 組化後產生的模組,是Virtools的精髓,透過設定參數和連接流程,即可創 造各種互動行為和運算,完全不需要撰寫程式,而且本身建構模組有依性質 分類,使編輯者能有效且快速的選擇需要的程式或編寫程式。另外在編輯模 組時可以直接拖拉使用素材庫內的各種素材。
圖3-5-2 建構模組資料庫 d. 狀態列(Status Bar):
狀態列主要目的是方便使用者能快速觀察出常用的資訊,它記錄了使用 者的狀態跟資訊,其中包括使用中的物件、執行狀態、座標、錯誤訊息、效 能表及播放器等。
e. 編輯設定區(Editor):
編輯設定區可分三個部份,主要是顯示各項資料的設定與流程編輯,分 別為 Schematic(流程圖)、Level Manager(層級管理員)、Entity Setup(物 件設定)
1. Schematic(流程圖):Schematic 視窗是用來檢視、編輯及偵錯 Scripts。
編輯方式是採流程圖的托拉流程線編輯方式,Scripts 就是 Virtools 中 所運作的程式,猶如事件發生過程的腳本。
圖 3-5-3 Schematic(流程圖)
2. Level Manager(層級管理員):層級管理員就像是檔案總管一樣,包含場 景製作中的所有記錄,方便於管理場景中的物件,它把整個場景中的物 件、數量都分門別類整理好。
圖 3-5-4 Level Manager(層級管理員)
3. Entity Setup(物件設定):物件設定就是設定每種物件的屬性參數,不 同的物件中有不同的參數可供設定,像 3D 物件、材質、燈光、貼圖…等,
都有其更細微的參數設定。
圖 3-5-5 物件設定選項中的 Material setup(材質設定) f. 編輯工具(Tools):
編輯工具由上而下可區分六個部份,分別為「選擇工具」「移動」「層 級」「網格」「創造」「視點」六個部份。
三、Virtools 建構模組
Virtools內建500個以上建構模組(Building Block,簡稱為BB),建構模組 可以提供設計者輕易的以拖曳方式使用。圖形化的物件導向介面,清楚呈現物件 與各個建構模組之間的流程線,只要設定內容參數,就能完成3D互動多媒體。以 下是建構模組的分類及其功能。
1.3D Transformations:設定3D場景中物件的基本設定及物件的動作變化,
例如位置定位、曲線路徑的移動、物件轉動移動、物件與地板關聯、子母 之間的關聯等。
2.Al:此模組將人工智慧加到任何角色之中,能有效的降低成本、減少技術 研發的時間,角色對象會依據當時四周環境的變異而作出即時的決定及動 作,包括躲藏、逃跑、隱藏…等人工智慧的判斷。(此模組屬於外掛模組)
3. Cameras:針對場景內攝影機的設定,如鏡頭位置及方位、焦段設定、攝 影機切換、攝影機的軌道…等。
4.Characters:基本角色動作上的控制及設定,角色和地板的關係等。
5.Collisions:管理物件和物件碰撞的狀況或物件和地板碰撞的情形。
6.Controllers:設定管理各種介面控制器,例如搖桿、滑鼠、鍵盤等,當 設定好這些模組內容,執行時會啟動要求的動作。
7.Gride:網格的設定,主要目的是用於管理整個場景,例如控制的區域內 做相對應的動作,取得特定網格的相對世界座標,將圖層分層級(layer) 管理等。
8.Interface:介面顯示描繪的管理設定,例如2D、3D物件的編排(Layout) 設定、字體顯示屬性、螢幕顯示設定…等。
9.Lights:燈光的控制設定,例如:燈光的類型、顏色、照射範圍、照射目 標物、聚光燈的屬性…等。
10. Logics:關於物件的邏輯運算功能或行為上的功能設定,例如數學式的 運算、迴圈(Loops)的使用、陣列式(Array)的運算、物件屬性及群組的 管理、訊息(message)傳送的管理…等。
11.Materials-Textures:材質(Materials)與貼圖(Textures)使用及設定的 管理,例如設定一個材質陰影的模式或反射色、效果、營造水波紋理的 貼圖。
12.Mesh Modifications:本類型模組主要針對網面(Mesh)進行修正及應用,
例如將兩個網面融合成一個網面,設定網格中頂點(Vertex)的屬性或數 目,網格進行彎曲縮放變形效果等。
13.Multiuser:主要提供線上多人互動功能,包含獨立網路伺服器系統及點 對點的區域網路伺服器系統,例如會議管理中會議的創造、加入、鎖定
等,會議時的物件管理,網路的訊息傳遞。
14.Narratives:此類型模組主要是針對文件、物件、場景、腳本、物件狀 態進行管理,例如開啟文件、複製對象、啟動一個指定的場景、執行一 個新的腳本、讀入一個對象狀態…等。
15.Network:此類模組主要是管理資料(Database)、媒體下載、伺服器功能,
例如資料庫的刪除、上傳、輸入,連接伺服器或檢查伺服器的連線,取 得代理伺服器(proxy)的資訊、尋找區域網路伺服器等。
16.Optimizations:此類型模組主要目的是讓系統與程式效能最佳化。
17.Particles:模組功能主要是產生粒子發射器功能,以模擬各種視覺效 果,例如火山爆發、下雨、火焰、煙塵、噴灑…等。
18.Physics:物理屬性模擬模組,使用者可以運用該屬性模組製作物理擬 真,諸如重力、彈力、摩擦力、碰撞、浮力、汽車等複雜的3D動態物理屬 性場景。(此模組屬於外掛模組)
19.Player:設定對於資料或影像擷取的播放控制及XML語法相關設定的模組 等,例如開啟高度直覺的PCS以存取或執行資料、紀錄3D環境的影像或螢 幕畫面的擷取、開啟HTML的資料等。
20.Shaders:主要是對著色器(Shaders)的控制及設定,藉由著色器的運算 技術,使得物件在色澤呈現上更具逼真與真實性。
21.Sounds:主要針對聲音檔案類型及屬性的管理,例如播放CD中指定的曲 目、播放midi數字音樂、設置聲音的接受器、設定聲音的範圍…等。
22.Video:控制與設定影像的模組,例如影像的擷取與尋找、執行影音,影 像輸入與輸出的控制等。
23.Visuals:此類型主要是進行視覺效果上的控制,例如顯示或隱藏滑鼠的 游標,隱藏指定的物件,角色對象產生陰影,或物件產生閃爍等。
24.VR:此類模組用來設定與控制虛擬實境追蹤器的系統,例如頭戴式顯示 器、3D眼鏡、VR手套等,可利用此類型模組來接受訊息。
25.VSL:對於建構模組中未存在的模組可利用此VSL(Virtools Script Language)自行開發建構模組。
26.Web:網頁瀏覽器的功能設定模組,例如由URL取得*.vmo或*.cmo的資料,
由Web Server下載資料,或開啟新網頁至指定網站等。
27.World Environments:設定環境背景及整體視覺效果的模組,例如設定 背景顏色、模擬成天空的場景、產生霧氣的環境…等。
四、Virtools Physics Library
Virtools Physics Pack是Virtools 3.0版開始新增的外掛互動式建構模 組,可以完全整合於Virtools 3D互動軟體的行為互動模組中,目前以Virtools Physics Library名稱發行,此物理屬性引擎提供了多樣物理化特性的功能,使 用者製作物理擬真諸如彈力、質量、摩擦力、碰撞、浮力、重力、力場等,在設 計具備物理屬性的3D動態場景時,能免除冗長的程式設計及物體動畫製作過程。
Virtools Physics Library共包含了近三十個物理模組,由Virtools和Havok公 司共同開發。
表3-5-1為Virtools Physics Library類別中所有建構的模組表,類型共分 Control、Creation、Destruction、Modification、Special五大類、三十個模 組。運用這些BB時候,必須了解3D實體欲進行何類型物理化屬性運動,才能選擇 合適的BB進行設計編輯。如本牛頓第二運動定律虛擬實驗室建置過程中,Physics 建 構 模 組 的 使 用 計 有 Creation/ ﹝ Physicalize ﹞ 、 Modification/ ﹝ Modify Physics Globals ﹞ 、 Control/ ﹝ Get Physics Speed ﹞ 及 Destruction/
﹝UnPhysicalize﹞等共四個模組,是針對本虛擬實驗的需求而選擇的BB。
表3-5-1 Virtools Physics Library的類別與行為建構模組(BB) Control
Physics
Creation
Destruction
Modification
Special
Beam Physics Object Get Physics Properties Get Physics Speed Is Inside Phantom Motion Controller Physics Impulse Phantom Event
Physics Collision Event Physics Is Contact Physics Torque Physicalize
Set Physics Ball Joint Set Physics Constraint Set Physics Hinge Set Physics Motor Set Physics Spring
Destroy Physics Constraint Destroy Physics Motor Destroy Physics Spring UnPhysicalize
Get Physics Spring Properties Modify Physics Globals
Modify Physics Motor Modify Physics Properties Modify Physics Spring
Convert To Buoyancy Convert To ForceField Convert To Phantom Physics Car
Physics Debug Rendering
五、虛擬實驗室中物理化模組的運用
本研究中,虛擬實驗室運用Virtools Physics Library的互動建構模組共有
本研究中,虛擬實驗室運用Virtools Physics Library的互動建構模組共有