楊玉婷,康厚良
(1.昆明理工大學津橋?qū)W院 電氣與信息工程學院, 昆明 650000;2.云南經(jīng)濟管理學院 教育學院, 昆明 650000)
東巴文化是指以納西族傳統(tǒng)宗教東巴教為基本形態(tài)和文化載體,集納西族東巴、東巴文、東巴經(jīng)、東巴畫、東巴工藝、東巴音樂、東巴舞蹈、東巴占卜和祭祀科儀的納西族傳統(tǒng)文化[1]。東巴文化既是納西族社會生活、宗教哲學、歷史演變、民俗事項、科技醫(yī)學、文學藝術(shù)的百科全書,同時也融會了苯教、藏傳佛教、道教乃至古波斯、古印度的一些文化元素,是世界文化史上的“一頁”奇觀[2]。東巴文是目前世界上存活著的象形文字,被譽為文字的“活化石”[3]。
東巴文化最大的特點是不脫離民族特殊的生產(chǎn)生活方式,它依托于人本身而存在,以經(jīng)文、音樂、舞蹈、繪畫等多種方式作為表現(xiàn)手段,并以口傳心授作為文化鏈而得以延續(xù)[4]。但是,傳統(tǒng)的傳承方式也導致了東巴文化的傳播面較窄、保護難度較大,甚至傳承出現(xiàn)斷代等問題。特別是隨著城市現(xiàn)代化進程的加快,東巴文化存在的基礎(chǔ)日漸狹窄,現(xiàn)代生活方式對它的消解,以及災害性破壞、建設(shè)性破壞都對其存在形態(tài)構(gòu)成了不同程度的危害,東巴文化迫切需要被保護和傳承[5]。而將相關(guān)文物數(shù)字化和虛擬化,通過虛擬博物館以更加生動、形象的方式將文物以及文物中所承載的文化更好地展示給觀眾,這將是保護和傳承東巴文化的一個新方式。
虛擬博物館通過把文物中承載的各種信息抽取出來,將傳統(tǒng)的靜態(tài)文物轉(zhuǎn)變?yōu)橛陕曇?、圖像、文本等構(gòu)成的動態(tài)的數(shù)字化信息,通過互聯(lián)網(wǎng)信息技術(shù)傳送到世界各地[6-7]。聯(lián)合國教科文組織(UNESCO)1992年開始推動“世界的記憶(Memory of the World)”項目,在世界范圍內(nèi)推動文化遺產(chǎn)數(shù)字化[8]。我國1996年啟動的國家數(shù)字圖書館工程,開始了文化資源的數(shù)字化進程[9-14]。但是,絕大多數(shù)的研究仍停留在模型的優(yōu)化、系統(tǒng)的渲染及系統(tǒng)效率等方面,隨著技術(shù)的快速發(fā)展,用戶在使用軟件時對軟件的“方便”、“舒適”、“實用”和“效率”等方面的要求越來越高[15-16],這意味著軟件的操作應(yīng)更加人性化。
因此,將人機工程與虛擬博物館技術(shù)相結(jié)合,以麗江市東巴文化博物館為原型構(gòu)建東巴文化虛擬博物館,虛擬博物館除了能夠向參觀者全面展示展品中所蘊含的文化精髓之外,其最大的特點是充分考慮“人的因素”,將用戶的心理特征、使用習慣和學習興趣納入虛擬博物館的設(shè)計中,不斷突出人與虛擬博物館之間自然、流暢的交流與協(xié)作,在為訪問者提供形象、生動的學習方式,充分調(diào)動訪問者的學習積極性和主動性的同時,也使東巴文化的宣傳和普及能夠跨越時間和地域的限制,有利于文化的保護和傳承。
東巴文化虛擬博物館由數(shù)據(jù)和軟件系統(tǒng)兩部分組成。數(shù)據(jù)部分主要包括以麗江市東巴文化博物館為原型構(gòu)建的突出體現(xiàn)納西族民居“三坊一照壁”的傳統(tǒng)四合院樣式的虛擬博物館建筑模型、能夠體現(xiàn)東巴文化精髓的特色文物模型及訪問者所操控的虛擬角色模型;軟件系統(tǒng)部分包括數(shù)據(jù)的持久化模塊、交互式漫游模塊、文物查閱模塊及邏輯處理模塊等4部分。虛擬博物館的系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 東巴文化虛擬博物館的系統(tǒng)結(jié)構(gòu)
東巴文化是納西族的傳統(tǒng)文化,選取具有代表性、能夠體現(xiàn)東巴文化的精髓及納西族民族特色的文物是非常重要的。另外,文物信息的準確性也十分重要,它將直接影響到訪問者對東巴文化的認識和理解。因此,為了保證文物及文物信息的準確性、有效性和客觀性,建模過程中所使用的文物圖片和文字信息均來自麗江市東巴文化博物館及麗江市東巴協(xié)會網(wǎng)站[17],而虛擬博物館外部建筑所使用的貼圖絕大部分取材于實體博物館,力求還原其原始風貌,保證參觀者所獲取信息的準確性和真實性。圖2為東巴“五福冠”的實物圖,圖3為使用3ds max創(chuàng)建的五福冠模型及渲染效果圖,圖4為實體博物館的外部實景圖,圖5為虛擬博物館的外部建筑效果圖。
圖2 東巴“五福冠”實物圖
圖3 五福冠模型及渲染效果
圖4 博物館實景
圖5 虛擬博物館模型
文物模型的質(zhì)量決定著整個虛擬博物館所能發(fā)揮的作用,而三維模型的精細程度與系統(tǒng)的運行速度成反比,即所建模型越精細,模型數(shù)據(jù)越龐大,漫游時計算機繪制的時間就越長,顯示效果就越逼真,反之亦然[18-19]。因此,在建模過程中加入了不同的優(yōu)化方法,在保證模型具有較好顯示效果的同時,又不會產(chǎn)生過大的數(shù)據(jù)量,具體包括:使用貼圖代替模型的細節(jié)部分,在不影響顯示效果的基礎(chǔ)上盡量降低模型多邊形面的數(shù)量等,從而降低虛擬博物館的總體規(guī)模[20]。圖6顯示了祭祀用“凈水瓶”的原始模型及優(yōu)化后的效果。通過觀察渲染結(jié)果發(fā)現(xiàn):在多邊形面數(shù)量大幅降低的情況下并未對模型的顯示效果造成影響。
圖6 “凈水瓶”模型優(yōu)化前后的對比
東巴文化虛擬博物館軟件系統(tǒng)部分最大限度考慮“人”的使用因素,以創(chuàng)造靈活、舒適的使用環(huán)境、簡單易學的操作方法為目標,主要由數(shù)據(jù)的持久化模塊、交互式漫游模塊、文物查閱模塊及邏輯處理模塊等4部分組成。交互式漫游模塊支持用戶以第一人稱或者是第三人稱的方式在虛擬博物館中漫游,使交互過程更加個性化和多樣化;查閱模塊通過友好的用戶界面為訪問者提供指定文物的圖片及文字介紹;數(shù)據(jù)持久化模塊實現(xiàn)了虛擬博物館中所有數(shù)據(jù)的持久化存儲和讀取。數(shù)據(jù)與系統(tǒng)邏輯的分離,提高了系統(tǒng)的可擴展性和可維護性。整個軟件系統(tǒng)部分的結(jié)構(gòu)如圖7所示。
圖7 東巴文化虛擬博物館的軟件系統(tǒng)結(jié)構(gòu)
Unity3D引擎提供了非常方便的角色控件,只需要導入控件包及相應(yīng)的虛擬角色模型就能實現(xiàn)以第一人稱或第三人稱的方式在虛擬博物館中漫游。因此,交互式漫游模塊的主要功能是實現(xiàn)角色模型的加載,根據(jù)鍵盤的輸入實現(xiàn)人物動作的切換和播放,以及用戶在不同人稱之間的切換與控制等。
文物查閱模塊為參觀者提供查閱文物信息的功能,當訪問者點擊虛擬博物館中的某個文物時,查閱模塊能夠準確地返回與文物對應(yīng)的圖片和文字信息。
在虛擬博物館中,為了在2D屏幕中獲取訪問者使用鼠標點擊文物的行為,實現(xiàn)鼠標和3D環(huán)境的交互,文物查閱模塊通過射線原理來實現(xiàn),即以攝像機的位置為原點,以鼠標在屏幕中選擇的當前點為目標點,發(fā)射一條射線,射線終點的三維坐標即為鼠標所指向的位置[21],如圖8所示。
圖8 鼠標與三維環(huán)境的交互
具體代碼如下:
if (Input.GetMouseButtonDown (0)) {
//1、創(chuàng)建一條從攝像機到鼠標選擇的當前點的射線
ray=Camera.main.ScreenPointToRay(Input.mousePosition);
// 2、得到選中的游戲?qū)ο?/p>
if(Physics.Raycast(ray,out hit))
{ obj=hit.collider.gameObject;
// 3、從局部對象反向查找父元素,因為文物都包含多個組成部分
if(obj.transform.parent!=null)
{ parentObj=obj.transform.parent.gameObject;
// 將string類型的文物名稱轉(zhuǎn)換為枚舉類型
if(parentObj.name.Equals("temp"))
wenWu=(WenWuFlag)Enum.Parse(typeof(WenWuFlag),obj.name);
else
wenWu=(WenWuFlag)Enum.Parse(typeof(WenWuFlag),parentObj.name);
if(wenWu!=null)
Application.LoadLevel("introScreen");
…………
另外,為了使查閱模塊的訪問界面更加友好,在界面的設(shè)計中與NGUI(Next-Generation User Interface kit)插件結(jié)合,在克服Unity 3D游戲引擎本身GUI工具開發(fā)效率低、可擴展性差等問題的同時,使所設(shè)計的用戶界面更加美觀、大方、使用方便。圖9顯示了東巴“五福冠”的介紹界面。
圖9 東巴“五福冠”的介紹界面
數(shù)據(jù)持久化模塊可實現(xiàn)數(shù)字資源的動態(tài)增加、刪除、修改和查詢等功能。在虛擬博物館中主要涉及的數(shù)字資源主要包括文字和圖片兩類。圖片的加載通過AssetDatabase來實現(xiàn),而文字的存儲和讀取通過文件流實現(xiàn),具體代碼如下:
// 圖片的加載
UISprite sprite = this.getComponent
sprite = (UISprite) AssetDatabase.LoadAssetAtPath(“Resources/Texture/WuFuGuan1.jpg”,typeof(UISprite));
……
// 文件的創(chuàng)建
void CreateFile(string path,string name,string info)
{ StreamWriter sw;
FileInfo myFile = new FileInfo(path+”//”+name); // 指定路徑
if(!myFile.Exists)
sw = myFile.CreateText(); // 如果沒有創(chuàng)建文件,則創(chuàng)建
else
sw = t.AppendText(); // 如果已經(jīng)創(chuàng)建,則打開文件
sw.WriteLine(info); // 寫入數(shù)據(jù)
……
// 文件的讀取
ArrayList LoadFile(string path,string name)
{ StreamReader sr = null;
sr = File.OpenText(path+”//”+name);
string line;
ArrayList arrlist = new ArrayList();
while((line = sr.ReadLine()) != null)
arrlist.Add(line); // 逐行讀取
……
系統(tǒng)測試的硬件環(huán)境:CPU為Intel Pentium(R) 3.0 GHz×2,顯卡為NVIDIA GeForce GT 610,內(nèi)存大小為4 GHz,軟件環(huán)境為Unity3D 4.3.0和Visual Studio 2010。測試內(nèi)容包括:① 系統(tǒng)啟動界面及角色的加載及初始化;圖10為虛擬博物館的啟動界面,圖11顯示以第三人稱方式進入虛擬博物館。② 以不同人稱方式在虛擬博物館中漫游;圖12和圖13顯示了以不同人稱方式在虛擬博物館中的漫游效果。③ 博物館周圍環(huán)境的渲染效果,圖14顯示了博物館周圍優(yōu)美的環(huán)境,圖15顯示了博物館周圍池塘的渲染效果。
圖10 虛擬博物館啟動界面
圖11 以第三人稱進入博物館
圖12 以第三人稱漫游博物館
圖13 以第一人稱漫游博物館
圖14 博物館周圍環(huán)境
圖15 博物館周圍的植物和池塘
在整個系統(tǒng)的測試過程中,測得最大幀速為119,最小幀速為100,平均幀速為110.18,其幀速率如圖16所示,從而保證整個系統(tǒng)的順暢運行。
圖16 幀速率
虛擬博物館作為傳統(tǒng)文化保護和傳承的新途徑,突破了時間和地域的限制,使訪問者能隨心所欲地在博物館中漫游、學習。以麗江市東巴文化博物館為原型構(gòu)建的東巴文化虛擬博物館漫游系統(tǒng),通過結(jié)合人機工程技術(shù),以創(chuàng)造靈活、舒適的使用環(huán)境、簡單易學的操作方法為目標,在為訪問者提供形象、生動的學習方式,充分調(diào)動訪問者的學習積極性和主動性的同時,向公眾廣泛宣傳和展示東巴文化的本真,促進東巴文化的宣傳、保護和傳承,使東巴文化充滿活力。