| 研究生: |
劉怡麟 Liu, Yi-Lin |
|---|---|
| 論文名稱: |
一個可支援延展性動畫的多人虛擬環境系統 A multi-user virtual environment system with extensible animations |
| 指導教授: |
李蔡彥
Li, Tsai-Yen |
| 學位類別: |
碩士
Master |
| 系所名稱: |
理學院 - 資訊科學系 |
| 論文出版年: | 2002 |
| 畢業學年度: | 90 |
| 語文別: | 中文 |
| 論文頁數: | 75 |
| 相關次數: | 點閱:115 下載:35 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
多人虛擬環境系統結合了虛擬實境與分散式系統,讓網路上的使用者利用各自的虛擬人物(avatar),在一個擬真的虛擬環境中進行互動。目前此類系統,大多因為受限於其訊息傳輸協定中的格式過於固定,使得虛擬人物動畫播放的設計,皆只能應要求以循序的方式播放,進行一來一往式的互動。為了讓虛擬人物的肢體語言動畫播放更有彈性,本論文以XML標準設計傳輸協定中的訊息結構,包裝動晝的相關資訊,以傳送至使用者端播放。為了說明此包裝方式上的延展性,我設計了三個使虛擬人物動畫播放更有彈性的功能:「虛擬人物動作的同步化」、「彈性的動畫劇本」、「不同動畫型態的整合播放方式」。我選擇以一個開放原始碼的多人虛擬環境系統VNet做為實驗平台,改寫其傳輸協定及動畫模擬等模組,並實作上述延展功能。另外,為了讓我的實驗平台提供更多加值應用的可能,我也設計了一套虛擬使用者的軟體發展介面,及訊息監控介面。最後,透過數個場景與動畫範例,我以實證方式說明此一虛擬環境系統在動畫展示上的延展性。
A multi-user virtual environment (MUVE) system integrates the technologies of virtual reality and distributed system to allow Internet users to interact with each other in a realistic virtual environment. Due to the inflexibility of message formats, most existing MUVE systems can only allow their users to display canned avatar animations in a play-on-demand fashion. In this thesis, the XML standard is used to design animation data and message transmission format. In order to illustrate the flexibility of this new protocol, I have designed three extensible functions for avatar animations. These functions include "synchronizing avatars' animations", "flexible animation scripting", and "integrating different animation data formats." An open source MUVE system, called VNet, is used as the basis of my experimental platform, on which I have redesigned its protocol and animation modules. In addition to the three extensions, I have also implemented a software development kit (SDK) for incorporating virtual users and message filtering. Finally, the extensibility of avatar animation is demonstrated in the proposed system through several realistic scenarios.
第一章 導論-----1
1.1 研究動機與目的-----1
1.2 本論文的章節架構-----4
第二章 相關研究-----5
2.1 多人虛擬環境系統相關研究-----5
2.2 多人虛擬環境系統簡介-----8
2.2.1 b1axxun-----8
2.2.2 Active Worlds-----10
2.2.3 VNet-----12
2.3 XML簡介-----13
第三章 以XML標準設計多人虛擬環境系統的訊息傳輸協定-----15
3.1 主從式多人虛擬環境系統架構-----15
3.2 VNet系統的VIP傳輸協定-----17
3.3 以XML取代VIP-----19
第四章 使用XML標準做為訊息傳輸協定後所衍生之應用-----21
4.1 虛擬人物動作的同步化-----22
4.1.1 具有時間屬性的動畫播放訊息-----23
4.1.2 調整動畫播放的屬性-----25
4.2 彈性的動畫劇本-----27
4.3 不同動畫型態的整合播放方式-----31
4.3.1 VRML模型的動畫運作模式-----32
4.3.2 三種不同資料型態的動畫播放方式-----34
4.4 動畫播放管理員(Animation Manager,AM)-----39
第五章 系統設計與實作-----42
5.1 系統架構-----42
5.1.1 伺服端起始時的組態設定文件-----44
5.1.2 使用者端的組態文件-----46
5.2 虛擬使用者-----47
5.3 VNet系統的訊息監控介面-----48
5.3.1 伺服端的訊息監控介面-----49
5.3.2 使用者端的訊息監控介面-----51
第六章 實作成果與討論-----53
6.1 虛擬人物動作的同步化-----54
6.2 彈性的動畫劇本-----58
6.3 不同動畫型態的動畫整合播放方式-----60
6.4 虛擬使用者-----66
第七章 結論與未來發展-----69
7.1 結論-----69
7.2 未來發展-----70
參考文獻-----71
附錄A 伺服端起始時的組態設定文件-----74
附錄B 使用者端的組態設定文件-----75
圖目錄
圖2.1 blaxxun系統架構圖(取自blaxxun公司網站)-----8
圖2.2 blaxxun的使用者介面-----9
圖2.3 Active Worlds的使用者介面-----11
圖2.4 VNet的使用者介面-----12
圖2.5 兩個XML表示3維座標的方式-----14
圖3.1 主從式架構的多人虛擬環境系統-----15
圖3.2 以VIP與XML包裝一位ID為4的使用者更新其座標至(3,2,1)的訊息-----20
圖3.3 以VIP與XML包裝一位ID為3的使用者所要傳遞的文字交談訊息-----20
圖4.1 一個具有time屬性的虛擬人物之肢體語言播放訊息-----23
圖4.2 取得伺服端電腦時間的訊息-----23
圖4.3 訊息傳送至接收之過程中,全域時間的變化-----24
圖4.4 一個具有調整動畫播放屬性的Hello肢體語言訊息-----26
圖4.5 一個虛擬人物的動畫劇本-----28
圖4.6 一個以行走方式進行位移的肢體語言動畫描述方式-----29
圖4.7 虛擬人物位移時的路徑示意圖-----30
圖4.8 一個具有多個動畫劇本的訊息-----30
圖4.9 一個從座標(-2,0,0)移至(2,0,0)的動畫描述-----32
圖4.10 一個具有位移動畫的球體模型-----33
圖4.11 以三種不同資料型態描述動畫資料時的資料量-----34
圖4.12 以命令句的方式描述動畫的播放-----35
圖4.13 有指定行進路線的位移動畫-----36
圖4.14 以XML描述VRML的動畫資料-----37
圖4.15 以關鍵畫格描述動畫的播放-----38
圖4.16 動畫播放管理員所維護的動畫物件序列-----39
圖4.17 利用使用者端電腦的時間計算key值-----41
圖5.1 VNet原本的系統架構-----43
圖5.2 VNet修改後的系統架構-----43
圖5.3 伺服端管理使用者資料時,所需記錄的基本資訊-----45
圖5.4 利用4.3節介紹的第三種動畫型態,描述一個模型檔(nancy.wrl)的"Hello"肢體語言動畫-----45
圖5.5 一個名為"The Head"的虛擬人物,其肢體語言動畫的描述-----46
圖5.6 伺服端與使用者端的訊息監控介面-----49
圖6.1 要求同步化的訊息-----54
圖6.2 John遇到Bob,發出同步化要求-----56
圖6.3 BOb回應John的同步化要求-----56
圖6.4 John移動至BOb面前-----57
圖6.5 同步化動作的播放-----57
圖6.6 一邊走路一邊揮手打招呼的肢體語言動畫-----59
圖6.7 虛擬人物跑步離開的動畫-----59
圖6.8 跑步時揮舞左手道別的動畫-----60
圖6.9 以高階資料型態的命令句,描述虛擬人物的動畫資料-----61
圖6.10 與圖6.9中的動畫資料相對應,以中階資料型態描述的動畫資料-----61
圖6.11 以中階資料型態的樹狀結構,描述虛擬人物的動畫資料-----62
圖6.12 以低階資料型態的關鍵畫格方式,描述虛擬人物的動畫資料-----63
圖6.13 右側走路的女生是第一劇本,男生是第二劇本,左側小男孩是第三劇本-----64
圖6.14 左側的小男孩舉起右手,對迎面而來的二人打招呼-----64
圖6.15 小男孩打完招呼,三人繼續依各自的動畫劇本前進-----65
圖6.16 小男孩走至目的地,其他二人繼續行走至動畫劇本所指定的座標-----65
圖6.17 虛擬使用者的管理者介面-----66
圖6.18 模擬多人效果(一)-----67
圖6.19 模擬多人效果(二)-----67
圖6.20 模擬多人效果(三)-----67
圖6.21 模擬多人效果(四)-----67
圖6.22 模擬多人效果(五)-----68
圖6.23 模擬多人效果(六)-----68
表目錄
表3.1 VIP訊息所使用到的VRML欄位型態-----17
表3.2 VIP協定中的所有訊息-----18
式目錄
式一 全域時間的計算式-----24
式二 使用者端電腦時間與全域時間之間的差值計算式-----24
式三 計算傳送端在訊息中設定的全域時間-----25
式四 計算播放一次動畫的時間長度-----40
式五 畫格索引值的計算式-----41