行政院國家科學委員會專題研究計畫 成果報告
(子計畫四)虛擬博物館 3D 函式庫之設計
計畫類別: 整合型計畫 計畫編號: NSC92-2422-H-009-0015- 執行期間: 92 年 03 月 01 日至 93 年 05 月 31 日 執行單位: 國立交通大學圖書館 計畫主持人: 柯皓仁 計畫參與人員: 陳依婷;陳湘婷;孫維英;黃夙賢; 吳媛媛 報告類型: 完整報告 處理方式: 本計畫可公開查詢中 華 民 國 93 年 8 月 26 日
行政院國家科學委員會補助專題研究計畫成果報告
※ ※※※※※※※※※※※※※※※※※※※※※※
※ ※
※
「台灣傳統表演藝術-布袋戲、傀儡戲、歌仔戲」 ※
※ 數位博物館之加值應用 ※
※
子計畫四: 虛擬博物館 3D 函式庫之設計 ※
※ ※
※ ※※※※※※※※※※※※※※※※※※※※※※
計畫類別:□個別型計畫 ■整合型計畫
計畫編號:NSC92-2422-H-009-015
執行期間:92 年 03 月 01 日至 93 年 05 月 31 日
整合計畫主持人:楊維邦教授
整合計畫共同主持人:柯皓仁教授
子計畫四主持人:柯皓仁教授
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
執行單位:國立交通大學
中 華 民 國 93 年 8 月 20 日
一、 緣由與目的
(一) 緣起
布袋戲是台灣重要的傳統表演藝術之一,自十九世紀由中國大陸傳入台灣以 來,民間的布袋戲團和藝師不斷地改良創新,終於發展出具有台灣特色的布袋戲 表演藝術。 本計畫基於 91 年度建置「掌中乾坤– 布袋戲」數位博物館的經驗,運用圖 文、影音、虛擬實境、資訊檢索、互動遊戲等技巧,重現傀儡戲與歌仔戲中所蘊 含之豐富華麗的藝術,喚醒國人體認民族文化之博大精深,及培養愛鄉愛國的情 操,進而接觸、參與、喜愛布袋戲、傀儡戲與歌仔戲。此外,還發展以布袋戲典 藏文物為內容的加值應用。本整合計畫由總計畫和四項子計畫組成: 1. 總計畫:「台灣傳統表演藝術-布袋戲、傀儡戲、歌仔戲」數位博物館之建 置。主要任務包含: (1) 統籌四項子計畫間的協調與溝通,並定期召開工作會議,整合四項子計 畫的產出﹔ (2) 主導建立布袋戲、傀儡戲、歌仔戲等三種台灣傳統表演藝術之數位博物 館﹔ (3) 訂定相關文物的後設資料,以及文物的整理、分析與編目工作。 2. 子項計畫一:布袋戲個人化網路商城。主要任務包含: (1) 設計個人化數位博物館﹔ (2) 建立網路商城﹔ (3) 開發可能的加值商品﹔ (4) 負責開發前述三數位博物館中所需之資訊瀏覽及檢索系統。 3. 子項計畫二:布袋戲線上多媒體娛樂教育中心之建置。主要任務包含: (1) 多使用者維度空間的線上遊戲之設計﹔ (2) 布袋戲電腦輔助教學軟體之設計﹔ (3) 多媒體串流隨選視訊內容之實作。 4. 子項計畫三:虛擬對話—布袋戲之人機互動情境設計。主要任務包含:(1) 布袋戲之人機互動情境設計﹔ (2) 數位博物館整體美術設計。 5. 子項計畫四:虛擬博物館 3D 函式庫之設計。主要任務包含: (1) 設計虛擬博物館 3D 函式庫﹔ (2) 以發展的函式庫實作一個小型虛擬博物館﹔ (3) 拍攝及製作相關文物之環物影像。 在表 1 中列出參與本計畫執行的主要人員(由於參與人員眾多,在此僅列出 主要人員)。 表 1 本計畫主要參與人員 計 畫 項 目 參 與 人 員 服 務 機 關 系 所 職 稱 計畫內擔任工作 楊維邦 交通大學圖書館 館長 總計畫主持人 總計畫 柯皓仁 交通大學圖書館 教授兼組長 共同主持人 楊維邦 交通大學圖書館 館長 主持人 楊維哲 西田社布袋戲基金 會發起人兼董事長 教授 共同主持人 子計畫一 陳立 交通大學圖書館 助理 計畫參與人員 黃明居 玄奘人文社會學院 圖書資訊系 副教授兼系主 任、圖書館館長 計畫主持人 林瑞盛 玄奘人文社會學院 圖書資訊系 助理教授 共同主持人 何佳欣 交通大學圖書館 助理 計畫參與人員 郭莉池 交通大學圖書館 助理 計畫參與人員 陳信源 交通大學 資訊科學研究所 博士班研究生 計畫參與人員 顧世彥 交通大學 資訊科學研究所 碩士班研究生 計畫參與人員 子計畫二 劉政璋 交通大學 資訊科學研究所 碩士班研究生 計畫參與人員 張恬君 交通大學 應用藝術研究所 教授 計畫主持人 子計畫三 張東淼 玄奘人文社會學院 圖書資訊系 助理教授 共同主持人
計 畫 項 目 參 與 人 員 服 務 機 關 系 所 職 稱 計畫內擔任工作 謝明勳 交通大學 應用藝術研究所 博士班研究生 計畫參與人員 葉世豪 交通大學 應用藝術研究所 碩士班研究生 計畫參與人員 楊健文 交通大學 應用藝術研究所 碩士班研究生 計畫參與人員 柯皓仁 交通大學圖書館 教授兼組長 計畫主持人 吳媛媛 交通大學圖書館 助理 計畫參與人員 子計畫四 黃夙賢 交通大學 資訊科學研究所 博士班研究生 計畫參與人員 陳依婷 交通大學 資訊科學系 大學部學生 計畫參與人員 陳湘婷 交通大學 資訊科學系 大學部學生 計畫參與人員 孫維英 交通大學 資訊科學系 大學部學生 計畫參與人員
(二) 台灣傳統表演藝術—布袋戲、傀儡戲、歌仔戲數位博物館之加值
應用
傳統藝術乃是先民的生活與藝術在經過時間粹鍊之後流傳下來的有形與無 形文化資產。在探究掌中乾坤布袋戲數位博物館加值應用的可能性之外,92 年 度的計畫包含以下三項和數位博物館內容建置相關的工作: 1. 持續為掌中乾坤布袋戲數位博物館增加內容( 註:本數位博物館可歸類於 「台灣傳統表演藝術」數位博物館下); 2. 新建「台灣傳統表演藝術—傀儡戲」數位博物館; 3. 新建「台灣傳統表演藝術—歌仔戲」數位博物館。 近年來,在政府機關的極力倡導下,產官學界在資訊網路、行動通訊等方面 開發不遺餘力,而其中功不可沒的是在產業界的大力投入之下,奠定了良好的網 路環境基礎(含有線與無線網路),如:ADSL 寬頻網路服務、GPRS、GSM、WAP 個人通訊服務。由於具備創意性及引人注目之加值服務,促使國內使用網際網路 及行動通訊的人口突破數百萬人次,幾乎是戶戶上網,人手多機,未來更是繁景 可期。這些經驗實實在在突顯出了創意加值之貢獻及重要性。由於資訊網路日趨平價化與普及性,使得網際網路多媒體娛樂有走入家庭化 的趨勢,如:寬頻電影、寬頻網路連線對戰遊戲已經是十分普遍。但是這些娛樂 的內容與技術絕大多數是外來的數位文化,我們在欣賞及享受外來文化之餘,也 應兼顧到我國故有文化資產,才不會被他國外來文化的洪流所淹沒。 除了運用資訊網路促進科技、人文、社會、教育及經濟各方面的發展,資訊 網路更應該運用在保存、傳承與推廣國家的傳統珍貴文化與藝術上,進一步普及 和應用精緻文化與藝術。而這部份需透過各種商業機制將傳統珍貴文化與以加 值,並透過網際網路無遠弗屆的特性,讓國人重視各項傳統珍貴文化與藝術,更 期望能發揮教育功能,促進國人更加尊重傳統、關懷台灣,對台灣文化與藝術作 更深入的反省與思考,塑造台灣成為華文文化與藝術資訊供應的重要樞紐。 布袋戲、傀儡戲、歌仔戲均為台灣重要的傳統表演藝術,然而隨著社會的變 遷、他國外來文化的侵入,此三項表演藝術卻已逐漸沒落,如何讓布袋戲、傀儡 戲、歌仔戲中所蘊含的雕刻、美術、文學、掌技、音樂、口技、台步等藝術透過 各種吸引 E 世代的商業加值方式,發揮創意將其開發成為優良的、有效益的加 值服務,更期望從中發揮藝文教育功能,使台灣年輕世代與新潮流人物的目光, 能被布袋戲、傀儡戲、歌仔戲等傳統表演藝術散發出的美與氣息吸引,而產生喜 愛與接觸、再由接觸、參與到了解喜愛這三種傳統表演藝術,促進年輕的一代熱 心尊重傳統、關懷台灣,蘊育對台灣文化做更深層的思考與反省,培養出愛鄉愛 國的偉大情操。 綜合上述,本整合計畫之總目標有下列四點: 1. 從娛樂中學習及懂得珍惜,進而保存延續固有文化資產; 2. 深度運用典藏,創造豐富商機; 3. 將固有文化資產應用性普及化、實務化; 4. 提昇國民文化、藝術、科學方面素養。
(三) 成果報告內容概述
本整合計畫的目標在於經由布袋戲、傀儡戲、歌仔戲三大數位博物館的建 置,運用圖文、影音、虛擬實境、資訊檢索、互動遊戲等技巧,為此三種表演藝 術在網際網路上開拓展演的舞台,使其能透過網際網路無遠弗屆的特性推廣到全 世界,使國人重視傳統藝術,並期望能發揮藝文教育功能,促成國人懂得尊重傳 統、關懷台灣,進而對台灣文化作更深層的反省與思考。 本整合計畫包含總計畫和四項子計畫,其中總計畫統籌建置「台灣傳統表演 藝術—布袋戲、傀儡戲、歌仔戲」數位博物館,而四項子計畫分別為:1. 總計畫:「台灣傳統表演藝術-布袋戲、傀儡戲、歌仔戲」數位博物館之建 置 2. 子計畫一:布袋戲個人化網路商城; 3. 子計畫二:布袋戲線上多媒體娛樂教育中心之建置; 4. 子計畫三:虛擬對話—布袋戲之人機互動情境設計; 5. 子計畫四:虛擬博物館 3D 函式庫之設計。 本報告為其中子計畫四「虛擬博物館 3D 函式庫之設計」之成果報告,相關 成果詳述如後。
二、 動機與目標
(一) 背景資料
傳統非數位博物館中,參觀者可以邊走邊欣賞博物館的內、外部,觀賞博物 館的展示品,並透過解說員的說明,更深入地鑑賞與剖析展品。在數位博物館中, 如讓網路使用者能有等同於傳統博物館的觀賞方式、提供身歷其境的視覺效果, 將能加強數位博物館對網路使用者的吸引力;若再進一步輔以適量的語音旁白、 襯景音樂、動態影像的功能來協助詮釋展品,觀賞的深度及選擇性甚至超過實際 到傳統博物館時所能允許之程度。在數位博物館的環境中若要達到前述理想,虛 擬實境的概念正是一個不錯的選擇。(二) 相關研究及優缺點
目前3D 虛擬實境函式庫的實作方式主要有:(1)用現有瀏覽器外掛, 如 VRML,係外掛(Plug-in)於現有之瀏覽器;(2)獨立應用程式或函式庫等二種,有 OpenGL、DirectX 等,前者是一種應用程式介面(API),用於專業繪圖,它的要 求比 Direct3D 更加嚴格,3D 函數多達兩百多道;後者是微軟(Microsoft)設計的 2D、3D application 開發 SDK,特別是應用在多媒體、Graphics、Games 上。DirectX 的前身 WinG,也就是 Windows Game SDK。JAVA3D 也是一個獨立應用函式庫,它最大的優點,就是其利用 JAVA Virtual Machine,達成跨平台的功能。JAVA 程式只需撰寫一次就能於各不同系 統使用,其中提供了許多方便的網路連線、圖形使用者介面程式庫。對於各種計 算機圖學函式也有良好支援。最近更新添 JAVA3D—一專門支援 3D 圖形描繪之 函式庫。
(三) 主題及其價值
在這個後數位時代,如何結合人文及科技,運用科技發揮創意,讓科技不再 死板冷硬,而是與現實密切相關,可以說是最重要的課題。許多人注意到這一點, 於是發展了大眾化的技術工具,讓技術普及到人人可以使用,例如影像處理軟 體,不需要專業的攝影師,人人都可以自己修改照片增添效果,實現自己的想像。 但是現在工具這些都偏重實際,而在我們的想法中,卻覺得「知識」比娛樂藝術 的工具來的更有價值。知識的必要性,在現在智力密集的經濟環境中不可言喻, 虛擬博物館創建系統的目的,就是為了保存與傳播知識。使用者不需要有任何的 技術背景,就可以輕鬆創建一個虛擬博物館,不論是自己保存,或者放在網路上 提供大眾使用,都非常方便。例如傳統布袋戲相關技術文化保存,使用者可以製 作立體戲偶放入虛擬博物館中,配合影片或聲音文字介紹,讓參觀者可以一步一 步地透過多媒體,瞭解這個博物館的展覽文化,這樣不但比製作網頁要更真實更 立體,另一方面又可省下實體博物館的費用。保存知識,從此不再只能用長篇文 字介紹輔以圖片說明,而能夠輕易的轉化成更貼近真實生活的博物館,二十四小 時在你的電腦裡開放;這就是我們認為科技可以為文化貢獻的成果。三、 系統介紹
(一) 軟體介紹
這是一套叫『BRAVE──Beyond Reality:Architecture of Virtual Environment』 的跨平台「虛擬博物館」設計軟體,此套軟體可以建構虛擬場景、將展覽品擺入 場景中、串聯博物館的展覽品與底層資料庫、並且可以定義在虛擬場景中移動的 方式。讓使用者可以在不同的電腦上,享受身歷其境的博物館 3D 導覽。它提供 各種高階的虛擬實際物件,方便美工人員直接透過此介面建立虛擬博物館,而不 需要再像以前一樣對著程式碼苦惱;或是自己使用 3D 繪圖軟體來繪出實際的不 規則物件,再載入此軟體中,就可以放進屬於你的博物館裡面。
1. 軟體架構
圖 1 BRAVE 系統架構圖 BRAVE 的系統架構圖如圖 1 所示,說明如下: 1. 物件 Editor:使用 3D 繪圖軟體產生博物館裡的物件。而所使用的 3D 繪圖軟體如:3D Studio Max。 2. 場景 Editor:使用這套建造虛擬圖書館軟體內所寫的 2Dmap 來做 2D 場景編輯,儲存的時候會存成 XML 的中間暫存檔。 3. XML 檔:使用 XML 作為中間暫存檔。的 3D 場景。 5. 建立 3D 場景:人物可以在裡面行走、點選資訊等等。
2. 使用流程說明
圖 2 使用流程說明(二) 所需執行環境
1. 軟體環境 JDK 1.4.1 以上 Java3D 1.3 NCSA Loader 2. 軟體環境設定 建立 Java 環境:先灌 JDK 1.4.1 建立 Java3D 環境:灌 Java3D 1.3將 NCSA Loader 的 portfolio.jar 放進 lib 下和 jre / lib 下 設定 Path: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System 32\Wbem;C:\j2sdk1.4.2\bin 設定 classpath: .;C:\j2sdk1.4.2\lib\tools.jar;C:\j2sdk1.4.2\lib\profolio.jar
(三) 程式架構
程式架構分成三大部分:物件、行為、介面 1. 物件〈DataStructure〉 一些專案、樓層、房間、地圖等等一整個環境的資訊及資料結構。 放入架設好環境的 3D 物件、牆壁、地板、天花板等等擺放在場景裡面 的物件的資訊及資料結構。 2. 行為〈Behavior〉 跟物件所包含的行為有關,像是可以加入物件、刪除物件等等。 可以用鍵盤控制在場景裡面移動 與物件的碰撞 與資料庫連結 3. 介面〈UI〉 使用者介面的程式類別,除了主介面之外,還包括了其他在裡面的小型 視窗。四、 實作成果
(一) 軟體功能
1. IMPORT:可輸入的檔案格式有: 支援 3DS、DXF……等檔名,由 3D 動畫軟體所製作的模型或貼圖 支援 JPG、GIF、BMP……等 2D 圖形的輸入 2. EXPORT:可輸出的檔案格式有 自訂一個〈輸入時還可繼續編輯的檔案〉 包成一個執行檔〈將 BAT 檔、CLASS 檔、3D or 2D 圖形檔都包在一 起〉 HTML3. LOADER:採用 NCSA’s Loader,可將已做好的 3D 物件 LOAD 進來 4. TEXTURE:物件的材質 單一透明色功能 平常貼圖重複〈材質會重複出現〉 平常貼圖單一〈材質不會重複出現,只會出現一次,可用於畫作〉 5. COLLISION:撞到物體後的反應 不動〈在物體放進來時自動加入,DEFALUT〉 出現 OBJECT 的資訊〈與資料庫的連結同〉 連到另一個房間或另一樓層 出現音效 6. DATABASE CONNECTION:與資料庫的連結 點到物件上時,會出現展覽品的資訊〈JDBC〉 連網頁 聲音導覽介紹
7. TREASURE BOX:百寶箱,用 3D Studio 做的物件 預先做好的 3D 物件 Treasure Box:方便使用者取用
自訂的 3D 物件 Treasure box:可自己使用 3D 動畫軟體做,再 LOAD 進來,之後就可以直接由軟體內的 Treasure Box 取用 8. PREVIEW:可在場景內自由走動,看做出來的虛擬場景的樣子
(二) UI 介面
《解說》 視窗最上面那一列:標題列與工具列 左上角的視窗:放在同一資料夾裡的檔案樹狀圖。 左下角的視窗:存放 3DS 的物件百寶箱,左邊有已經建立的 3D 物件 的樹狀圖,右邊則為 3D 物件秀出的圖片樣子。 右邊的視窗:2D Map,可在其上畫出圖書館的配置,並且在左邊有擺 放各個 3D 物件的樹狀圖,下面還會有物件的詳細資訊。(三) 3D Map
從上而下綜觀所有的物件擺放,以便隨意更改配置。 也可以進入場景裡面,在裡面走動以參觀場景。
五、 結論
(一) 研究開發的方法與過程
本計畫執行過程中先從熟悉 JAVA 語言和 JAVA3D 開始,不過由於 JAVA3D 在市面上並沒有中文的書,所以先閱讀 JAVA3D 在網頁上的文件,希望藉由簡單 的說明文件和實際操作的小型功能 Demo 檔,來熟悉 JAVA3D 的樹狀圖架構是如 何、還有如何建立使用,才來做撰寫程式碼的工作。另一方面,為了了解 3D 虛 擬博物館的設計軟體的架構,我們也不斷在找尋放在網路上的 3D 遊戲 engine, 希望能藉由前人的東西來讓我們有更多新的突破,後來還參考其他的遊戲設計軟 體 ─ Virtools 的介面,來看什麼樣的介面會帶給使用者最大的方便、或是要以 什麼樣的方式來呈現 3D 的效果、還有什麼樣的功能會是我們建造一個 3D 虛擬 博物館所需要的等等。 等到這些前置工作都準備好了,就先用 JAVA3D 來實作出我們在虛擬博物館 中所想要的功能,藉由實作出圖書館 3F 的範例檔,讓我們更了解 JAVA3D 的使 用、以及做接下來整套軟體的暖身運動,並且此時接觸能繪出 3D 物件的 3D 繪 圖軟體,為了方便我們在實作範例檔時,能夠擺一些非常接近真實的物件進來, 讓整個場景看起來更加豐富,而不只是從網路上抓下來不符合現實規格的東西擺 放在場景中。不過這時候發現一個有點嚴重的問題,就是將整個場景的東西擺放 下去,跑起來就會非常地耗費資源,而造成電腦了延遲,這在後面碰到問題的時 候有詳細一點的介紹。 接下來就是設計這整套軟體,討論好軟體的功能及架構就開始實作介面、2D 和 3D 的地圖、和一些 3D 物件的建立,要怎麼樣以最簡單的方式呈現一個 3D 的場景,並且還可以對它作修改,我們思考了許久,不過這個問題最後還是被克 服了。最後實作出了一個 3D 虛擬博物館的設計軟體,它可以讓我們不需要辛苦 地撰寫程式碼,才能夠做出一個可在裡面自由走動的 3D 博物館,只需要簡單的 介面操作、以及用 3D 繪圖軟體美工製作所想要的 3D 物件,就可以輕鬆的擁有 漂漂亮亮的虛擬博物館。
(二) 遭遇到的問題
1. Java3D 的 Performance 不如預期
我們在實作圖書館 3F 場景的時候所碰到的嚴重問題,是它的 Performance 不好。那時有歸納了範例檔所需要的硬體,以及它在場景中走一步所需的時間。記憶體的話,電腦起碼需要 512MB 以上、而顯示卡記憶體也要 128MB 以上; 至於運算的話,AMD 1700 在場景中走一步約需花 6~7 秒。而如此差的 Performance 實在很難吸引使用者去用它。 由於出現上述問題,所以我們特別仔細檢查了可能造成的原因,最後歸納 出:一、從 .3DS 檔匯入的物件實在太多。二、匯入的物件太過於複雜,會讓 .3DS 檔很大。三、有些不必要的匯入物件,例如:牆壁、天花板、地板等,可用 JAVA3D 內建的圖形加上材質做成。當我們改進了以上三點之後,場景跑起來順多了。