第三章 研究方法
第四節 物理實驗室模組之製作
本研究採用 Virtools 組合各種模組,合成一多媒體教材,茲針對其架構、
建構模組(Building Block)、基本介面及如何將 3DS MAX 與 Virtools 的結合應 用說明及製作過程如下:
一、 Virtools 整體架構歸類
(一). Virtools 開發介面平台-能快速的創造許多物件,設定各種型態資 料。
(二).高階模組引擎 -有 AI Pack 人工智慧模組利於遊戲角色的動作;
Physic Pack 提供了各種物理屬性的運用;CAD Pack 更使得工業設 計人員有更大的發揮空間,網路伺服器模組、VR Pack、…等,使創 意更易發揮。
(三).網路播放 -Virtools Web Player 使得用 Virtools 作好的成品,可 放上網頁播放或下載。
(四).Virtools SDK-Virtools 可利用其 SDK 來修改或製作自己需要的建 構模組,編譯屬於自己的動態連結資料庫(Dynamic Link Library,
DLL)檔。另外 Virtools 開發環境中也有提供 VSL(Virtools Script Language)編輯介面 ,使用者可容易快速地在 VSL 環境下用 Virtools SDK 來編輯自己需要的建構模組。
二、Virtools 建構模組(Building Block)- Virtools 的建構模組能活化物件,
它可依使用者需要,撰寫各式的物件行為,不但編寫視覺化,偵錯也很容易。
主要的建構模組有:
(一). 3D Transformations:使物件做各種動作變化和物件的設定,如位 置定位、依曲線路徑移動、設定方位、子母物件關係、物件和地板關聯 等。
(二). Cameras:主要在控制鏡頭位置、方位、焦距、攝影機的切換…等等。
(三). Characters:主要在管理角色的的動作(Animation)設定、角色和地 板的關係、角色的動作控制…等。
(四). Collisions:主要在管理偵測物件間或物件和地板間的碰撞。
(五). Controllers:主要在設定管理各類介面控制器,如滑鼠、鍵盤、搖 桿的操控設定,將這些操控模組設定好後,再執行對應的動作。
(六). Grids:網格(Grid)的設定,可用此類模組來管理整個場景,如與控 制區域做相對應動作、取得特定網格相對的世界作標、將地圖分層級 (layer)管理…等。
(七). Interface:主要在介面顯示描繪的管理,像是 2D 物件的拖拽、文 字顯示的屬性設定、畫 2D 方格圖…等。
(八). Lights:主要用於燈光的控制,如:燈光的顏色、方位、照射目標 物等。
(九). Logics:主要提供給使用者各種邏輯運算功能和各種基本行為功能。
像是物件屬性管理、陣列(Array)的各種運算、群體(Group)的管理應用、
數學式的運算、各種迴圈(Loop)的使用…等。
(十). Materials-Textures:此類模組主要用於貼圖(Texture)和材質 (Material)的使用和設定相關內容,像是讓貼圖呈現正弦曲線狀、設定 材質的漫射(Diffuse)性質或放射性質(Emissive)…等。
(十一). Mesh Modifications:此類模組是針對物件的網面(Mesh)的各種 修改和應用,例如:使網面中的頂點依正弦曲線變形、使兩個網面融合 為一個網面、設定網面中頂點(Vertex)的數量等。
(十二). Multiuser:此類模組是一個線上多人互動模組,它提供兩種多人 連線伺服器,包括獨立網路伺服器與點對點區域網路伺服器,例如:會 議(Session)的創造或加入、物件管理、網路訊息的傳遞等。
(十三). Narratives:使用者可用此類模組在腳本中管理程式腳本、物件、
場景(Scene)、物件狀態等。
(十四). Network:此類模組擁有媒體下載功能、伺服器功能、資料庫功能,
例如:刪除資料庫裡的資料、檢查伺服器的連線、切斷和伺服器的連線 等。
(十五). Optimizations:此模組主用於系統效能和程式的優化 。
(十六). Particles:主要是利用分子散射系統產生各種不同的視覺特效,
也可利用此模組製作各種模擬,像是火山爆發、煙霧、爆炸…等模擬。
(十七). Physics:主要是對物件做出各種物理屬性模擬控制,像是重力、
力矩、汔車…等模擬。 本研究將對此部分作進一步的探討。
(十八). Shaders:主要是對著色器(Shader)的各種控制設定,使用者可利 用著色器運算技術可使物體變得更真實。
(二十二). VSL:若是找不到自己想要的建構模組,可利用 VSL(Virtools Script Language)編輯自己想要的建構模組。
(二十三). Web:主要用於網頁瀏覽器上的各種功能,如:從一個 URL 取 得資料,從 Web Server 下載資料…等。
(二十四). World Environments:此類用於對環境背景的設定和製造環境 視覺效果。
三、Virtools dev3.0 之基本介面
Virtools dev3.0 之基本介面如下圖所示
(一). 選項區:包含 File、Resources、Editor、Options、Help 五大項,
打開 File,可開啟新的、讀取舊的作品,儲存、另存作品,可並入別的 作品,輸出 Virtools 專用格式或網頁格式,印出流程圖等。Resources 選單可存取資料庫中的素材。Editor 選單有五類,屬性管理者、階層管 理者、路徑管理者、階層管理者、參數除錯程式及關閉所有安裝及管理
資料區
設定區 選項區
編輯區
者。Options 選單可設定一般偏好、偵測沒用到的物件、追蹤程式執行 的狀況等。Help 選單可呼叫教學手冊,協助解決問題。
(二). 編輯區:分為資料、顯示、調整、網格、創造、鏡頭、視窗編輯等 部份。資料選單可照下目前編輯的畫面,另可打開選單直接選所要的。
顯示選單可選擇用哪個鏡頭顯示,及設定顯示模式。調整選單選定物件、
鎖定物件、框選物件、移動物件、旋轉物件、調整物件大小比例。網格 選單可顯示 2D 或 3D 網格。創造選單可創造攝影機、燈光、3D 輔助物件 路徑、2D 輔助物件、材編輯、紋理編輯、入口物件等。鏡頭控制選單可 控制鏡頭的景深、視角、縮放、移動、旋轉等。
( 三 ) . 資 料 區 : 可 分 為 行 為 模 組 指 令 庫 (Building Blocks) 及 素 材 庫 (Resources)二大類,行為模組指令庫(Building Blocks)內含五百多種 指令集,為 virtools 的編輯核心。素材庫(Resources) 內的各類素材可 供編輯模組時直接拖拉使用。
(四).設定區:此區可分為流程圖介面及層級管理員。流程圖介面可顯示 各類資料的設定及各種流程圖的編輯情形。層級管理員可創造與管理各 項資料,如創造新的地點、群組、陣列、場景、工作套件及流程。
四、3DS MAX7 與 Virtools dev3.0 的結合應用 (一). 物件的匯出與匯入
1.3DS MAX 部分
(1)點按 File >Export (1)將製作完成的物件匯出
1
(2) 選欲儲存的資料夾 (3) 給檔名
(4) 選存檔類型
virtools export(*.NMO,*.VMO)
(5)選擇輸出為物件或角色。
(6)若輸出為角色,則在此填入角色名稱。
(7) 將樣本採樣格數的 controller Animated object 二欄皆填入 1,如此可將所作的 動作做最佳的輸出。
(8)按 OK 輸出並存檔。
2.virtools 部分
(1)按 File
(2)選 New composition 建新專題
(3)匯入物件的方式有多種,可按 Creat new data
(7)點選需用的素材,拉到編輯區中即可
(8)另可點選 import file,開啟所需的素材即可
(9)也可點選 File>Merge composition 將其他專 案的素材併入目前的專案中。
(二).物件的互動流程制定與編輯
(1)選定物件,按滑鼠右鍵,現下拉選單。
(2)選 creat script
(3)點選新增的物件 script
(4)現欲編輯的流程圖區 7
8
9
1
2
4 5
3
(5)從資料區選適用的模組拉至此區。
(6)編輯各模組
(7)按此鍵 play,測試成果
(三).專案存成網頁格式
(1) 測試結果,即可按 File
(2)選 creat page 存成網頁格式
(3)填入欲顯示的視窗大小 (4)若鉤選則可存成*.cmo
(5)若鉤選則可於瀏覽器上預覽成果 6
7
1 2
3
4 5
第五節 虛擬物理實驗室的網頁建置
自 1980 年代,網際網路興起至今,由原本單調的文字敘述,發展成現今圖 文並茂、有聲有色的多媒體網站,網站已成現代人生活中不可或缺的一環。本研 究最後階段是將成果設計成網頁格式,發布於網際網路,讓使用者透過網路使用 本虛擬實驗室。本研究規劃的網站結構如下:
以網頁編輯軟體 Swish max 及 Namo webeditor 編輯的首頁如下
第四章 虛擬物理實驗室--運動學實驗之程式設計
本研究中擬設計的虛擬運動學實驗包含等速度運動、瞬時速度、等加速度運 動等三種實驗。虛擬實驗儀器與實體實驗的比較表如表 4-1 所示。
表 4-1 實體圖與虛擬圖比較表
實體圖 虛擬圖
等速度運動
瞬時速度、
等加速度運動
三種實驗皆以 MouseCam 為主角,以滑鼠左右鍵及滾輪操控,而穿梭於場景 中,能以各種角度觀看實驗的進行。其程式模組及說明見附錄(1)。本章說明 中各物件皆加底線例如:MouseCam,說明中各模組則加外框例如:Text Display。
第一節 等速運動虛擬實驗之程式設計 設計構想:
1.讓滑車能於滑軌上左右來回移動。
2.於滑車靜置的中心點設起點板,測定距離的參考點。
3.於滑軌旁設四個感測器。
4.能以鍵盤控制移動各感測器的位置。
5.能將測得的數據顯示於螢幕特定位置上。
6.操作說明於螢幕上顯示。
設計結果與預期構想相符。虛擬實驗的起始畫面如下,包括使用說明、場景及 實驗器材等三部份。
圖 4-2 等速度運動的起始畫面 感測器 1、2、3、4、起點板(隱藏)
左右擋板、感測器 1、2、3、4(複製)、滑車 圖 4-1 等速度運動設計構想圖
畫面中文字部分由十個 Text Display 組成。Text Display 可將預設文字呈 現於螢幕上,場景則參考 virtools 內的文件說明範例修改而成。實驗器材由 3DS MAX 建模產生,其名稱及啟動時位置如下圖所示、
本實驗教材為設計一個虛擬環境,能讓滑車物件進行等速運動,以模擬物體 在未受外力影響下,恆沿直線作等速運動。故設計一滑車 Fa10d1 置於滑軌 0rbit 上,滑軌上另置有四個感測器 Sensor1、Sensor2、 Sensor3、Sensor4。當滑車受 滑鼠點按驅動後,感測器測量滑車上擋光板經過所花的時間,使用者由畫面中 的測量時間及擋光板長度計算滑車的速度。使用者在利用這些數據劃出滑車的 S-T 圖及 V-T 圖。為求真實情境相符,將四個感測器隱藏。為讓感測器能由使用 者控制改變其測量位置於滑軌旁的對應位置擺上四個感測器的複製體分別命名 為 Sensor1.copy、Sensor2.copy、 Sensor3.copy、Sensor4.copy,並令原 Sensor1、
Sensor2、 Sensor3、Sensor4 作為感測器複製體的母階層,當以鍵盤按鍵移動時,
對應的複製體會跟著移動,其模組設計如下: Sensor4 Sensor3 Sensor2 Sensor1
Airpump
現以感測器 Sensor1 及複製體 Sensor1.copy 來說明模組設計過程,其餘三對皆 同此設計。由圖 4-4 可見:物件 Sensor1.copy 加入模組 Set Parent 接受 Sensor1 的控制,物件 Sensor1 的模組設計主要有兩個功用:
1.接收鍵盤按鍵 Q、按鍵 1 的訊息透過 Switch On Key 、Per Second、Translate、
移動 Sensor1 的方向及速度,在此設定 Per Second 的參數為:
意即當按下 Q 鍵時 Sensor1 會朝 X 軸右方每秒移動 2 單位,若 X=-2 則朝左每秒 移動 2 單位,各按鍵控制感測器向左向右的對照表如下
意即當按下 Q 鍵時 Sensor1 會朝 X 軸右方每秒移動 2 單位,若 X=-2 則朝左每秒 移動 2 單位,各按鍵控制感測器向左向右的對照表如下