楊玉婷,康厚良
(1.昆明理工大學津橋?qū)W院 電氣與信息工程學院, 昆明 650000;2.云南經(jīng)濟管理學院 人文藝術(shù)學院, 昆明 650000)
虛擬博物館通過把文物中承載的各種信息抽取出來,將傳統(tǒng)的靜態(tài)文物轉(zhuǎn)變?yōu)橛陕曇?、圖像、文本等構(gòu)成的數(shù)字化信息,并將其通過互聯(lián)網(wǎng)信息技術(shù)傳送到世界各地[1-2]。1996年,我國啟動國家數(shù)字圖書館工程,開始了文化資源的數(shù)字化進程[4-9]。國家數(shù)字圖書館研究主要采用仿真平臺,從增強用戶體驗和文物保護[10-13]的角度展開,但對于博物館中文物的展現(xiàn)方式卻少有涉及,仍以靜態(tài)圖片結(jié)合文字的展示方式為主[3]。隨著數(shù)字視頻處理、數(shù)字信息存儲技術(shù)的不斷發(fā)展,多媒體應用技術(shù)帶來的視覺和聽覺體驗為動態(tài)展現(xiàn)虛擬博物館中藏品的寓意及其背后的故事提供了重要方法。
因此,本文結(jié)合虛擬博物館的現(xiàn)有需求及對當前流行的數(shù)字媒體軟件的深入剖析,基于Unity3D游戲引擎設(shè)計并實現(xiàn)了能同時支持桌面環(huán)境(包括Windows系統(tǒng)、Mac OS系統(tǒng)和web瀏覽器)、移動設(shè)備的跨平臺輕量級數(shù)字多媒體組件,可將大量動態(tài)的、有形的、能反映或再現(xiàn)當時人們生產(chǎn)生活場景的記錄資料展示給參觀者,使參觀者能通過一種數(shù)字化靜態(tài)文物與動態(tài)影像結(jié)合的方式去了解文物中所包含的文化內(nèi)涵。本文的設(shè)計在為參觀者提供一個良好的學習和交流平臺的同時,也提高了虛擬博物館的實用性、可理解性和可學習性。
數(shù)字多媒體組件的設(shè)計核心是使用一般化的設(shè)計模式方便用戶快速熟悉并使用。首先,建立了與數(shù)字多媒體組件相關(guān)聯(lián)的網(wǎng)絡多媒體數(shù)據(jù)庫,方便用戶快速獲取知識;其次,設(shè)計了支持本地和互聯(lián)網(wǎng)中文件的搜索及主流音、視頻格式文件播放的功能;然后,提供易于使用的對外集成接口,方便與各類虛擬博物館的匹配和集成;最后,通過組件良好的跨平臺性能滿足用戶隨時隨地通過任意硬件訪問虛擬博物館及知識學習的需求。
整個組件由用戶界面、文件瀏覽及搜索、數(shù)字媒體播放器這3個核心模塊組成。用戶界面是用戶與組件交互的媒介,設(shè)計時參考當前流行的數(shù)字媒體軟件的用戶界面特點,以方便用戶快速熟悉并使用。文件瀏覽及搜索模塊支持本地和互聯(lián)網(wǎng)中文件的搜索及主流音、視頻格式文件的解析和加載,并建立了與多媒體組件相關(guān)聯(lián)的東巴文化網(wǎng)絡資源庫。數(shù)字媒體播放器主要實現(xiàn)播放器面板控制、音/視頻文件的播放與暫停、快進、停止、音量調(diào)節(jié)及進度拖拽等功能。整個數(shù)字多媒體組件的系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 數(shù)字多媒體組件的系統(tǒng)結(jié)構(gòu)
播放界面是數(shù)字多媒體組件與用戶交互的主要方式。在界面設(shè)計的過程中,結(jié)合使用NGUI插件,除了突出“所見即所得”、界面簡潔、風格一致、顯示直觀形象等原則外,還與當前流行的播放軟件的界面設(shè)計特色保持一致,以方便用戶快速熟悉和使用。
NGUI(Next-Gen UI Kit)是嚴格遵循KISS (keep it simple,stupid) 原則并采用C#編寫的可靈活擴展的Unity 3D[14-17]插件,它提供了強大的UI系統(tǒng)和事件通知框架[18]。圖2顯示了系統(tǒng)中采用的核心按鈕圖片,圖3為使用NGUI插件實現(xiàn)的組件操作界面設(shè)計圖。
圖2 風格統(tǒng)一的按鈕樣式
圖3 基于NGUI的組件操作界面
數(shù)字多媒體組件的軟件部分不受使用平臺或硬件的限制,具有良好的跨平臺性,集成度高,可移植性強,支持在Windows桌面系統(tǒng)、主流Web瀏覽器及主流手機操作系統(tǒng)(安卓系統(tǒng)和iOS系統(tǒng))上的運行,其核心模塊包括文件瀏覽和搜索模塊、數(shù)字媒體播放器模塊等。
文件瀏覽及搜索模塊支持對本地及互聯(lián)網(wǎng)中多媒體文件的搜索。為了方便用戶快速獲取相關(guān)知識,建立了與數(shù)字多媒體組件相關(guān)聯(lián)的網(wǎng)絡多媒體數(shù)據(jù)庫,從而為用戶提供更加豐富的學習資源。數(shù)字媒體播放器是搭載在數(shù)字多媒體組件上的輕量級播放器,支持當前主流音、視頻文件的解析、加載和播放。
文件瀏覽及搜索模塊支持本機文件及互聯(lián)網(wǎng)中在線視頻的搜索和播放。用戶可以通過播放列表按鈕指定本機或互聯(lián)網(wǎng)中要播放的數(shù)字媒體文件,然后由數(shù)字媒體播放器加載指定的文件并準備播放。
數(shù)字媒體播放器是數(shù)字多媒體組件中與用戶直接進行交互的核心模塊。為方便用戶快速了解及使用,它所提供的功能應與其他主流播放器保持一致。因此,視頻播放器的功能包括:視頻文件的初始化,視頻的播放/暫停、快進、停止、音量調(diào)節(jié)、進度拖拽、全屏播放及播放面板的顯示與隱藏功能等。
3.2.1 多媒體文件的初始化
多媒體文件的初始化工作包括視頻畫面和音效的加載、畫面和音效的同步及數(shù)據(jù)緩沖處理等。
3.2.2控制多媒體文件的播放/暫停、停止及快進
定義函數(shù)PlayButtons()用于管理多媒體文件的當前播放狀態(tài),控制多媒體文件的播放/暫停、停止、快進/退和重新播放等,以及在進行相應操作時播放、暫停和停止按鈕圖標的切換。具體代碼如下:
public void PlayButtons()
{
//播放多媒體文件
if (UIButton.current.tweenTarget.name == "playButton")
{ //判斷多媒體文件是否正在播放
if (!movieFile.isPlaying)
{ movieFile.Play();
transform.audio.Play();
}
else //暫停播放
{ movieFile.Pause();
transform.audio.Pause();
}
}
//停止播放
if (UIButton.current.tweenTarget.name == "stopButton")
{ if (movieFile.isPlaying)
{ movieFile.Stop();
transform.audio.Stop();
}
}
…………
//控制多媒體文件的播放速度,取值范圍為-3~3。
//值越大,播放速度越快
public void PlaySpeed()
{ if (movieFile.isPlaying)
{ if (audioFile.pitch == originalSpeed)
audioFile.pitch = 1.5f; //1.5倍快進
else if (audioFile.pitch == 1.5f)
audioFile.pitch = 3f; //3倍快進
else //正常速度
audioFile.pitch = originalSpeed;
}
}
3.2.3 音量調(diào)節(jié)
音量調(diào)節(jié)提供了滑塊調(diào)節(jié)和靜音按鈕兩種調(diào)節(jié)方法。通過調(diào)節(jié)滑塊可實時調(diào)整音量的大小,也可通過靜音按鈕來關(guān)閉聲音。另外,當音量發(fā)生變化時可修改音量百分比,并根據(jù)聲音的當前狀態(tài)iSound修改音量的圖標。
3.2.4 進度拖拽
進度滑動塊決定了多媒體文件的播放進度。當用戶拖拽播放滑動塊時,將根據(jù)滑動塊當前位置計算對應的新的播放時間,實現(xiàn)播放進度的跳轉(zhuǎn)。播放滑動塊與播放進度的關(guān)系如下:
具體代碼如下:
void TimeControl()
{ e = Event.current;
if (e.isMouse) //當鼠標拖拽滑動塊
ftimeNow = playProgress.value;
else
{ if (strPlayState == "Play")
ftimeNow = ftimeNow + 1 * Time.de- ltaTime;
else if (strPlayState == "Stop")
ftimeNow = 0f;
playProgress.value = (ftimeNow / movieFile.duration);
}
}
3.2.5全屏播放及播放面板的顯示與隱藏
在NGUI中,要獲得當前屏幕的高度和寬度必須通過root的當前高度/屏幕高度的比例來計算,這樣才能使播放器在屏幕大小不同的設(shè)備中都能實現(xiàn)全屏顯示。
在多媒體文件的播放過程中,播放面板的隱藏能提高用戶的觀賞體驗。因此,若5 s內(nèi)未檢測到鼠標或鍵盤事件,則隱藏面板;否則,顯示面板。播放面板的顯示和隱藏主要是通過面板的深度值來實現(xiàn)。當面板的深度值小于屏幕的深度時,面板被屏幕遮擋,得到隱藏的效果;否則,面板將顯示在屏幕之上,達到顯示的效果。
測試時,將數(shù)字多媒體組件集成到現(xiàn)有的東巴文化虛擬博物館中,使用戶可以通過歡迎界面快速訪問數(shù)字多媒體組件。系統(tǒng)測試主要是在桌面和移動平臺兩種環(huán)境中分別進行。
在桌面環(huán)境測試時,所使用的計算機硬件如下:CPU為Duo T6400 2 GHz×2,顯示卡為NVIDIA GeForce 9300M GS,RAM為2 GHz,操作系統(tǒng)為Windows 7,瀏覽器為360安全瀏覽器7。在移動平臺的測試時,手機為小米3電信版,硬件如下:CPU為MSM8674AB 2.3 GHz、RAM 為2 GB,操作系統(tǒng)為Android OS 4.2。
1) 數(shù)字多媒體組件與現(xiàn)有東巴文化虛擬博物館的集成效果。運行時,虛擬博物館可以窗口或全屏的方式運行。在虛擬博物館的歡迎界面中提供了訪問數(shù)字多媒體組件的快捷入口,方便用戶在進入虛擬博物館之前通過數(shù)字多媒體組件了解一些與東巴文化相關(guān)的知識。圖4顯示了虛擬博物館的啟動界面。
2) 測試桌面版數(shù)字多媒體組件播放本地視頻文件的效果。圖5顯示在播放過程中,可通過點擊任意鍵來顯示播放面板,也可以通過“播放列表”按鈕選擇或搜索播放其他視頻。
圖4 虛擬博物館的啟動界面
圖5 組件播放器的運行效果
使用360安全瀏覽器測試數(shù)字多媒體組件基于web的運行情況和效果。圖6顯示了通過“播放列表”按鈕查看正在播放以及過往播放過的視頻內(nèi)容。圖7顯示了播放面板隱藏后的效果。由此可知,在桌面環(huán)境中和web瀏覽器中,數(shù)字多媒體組件的運行效果完全相同。
圖6 數(shù)字多媒體組件在瀏覽器中的運行效果
圖7 播放面板隱藏后的運行效果
在移動平臺上對數(shù)字多媒體組件的運行效果和運行流暢性進行測試,著重測試組件在不同硬件平臺上顯示的一致性,以及組件在移動設(shè)備中的自適應程度。圖8、9分別顯示了手機處于橫向和縱向時,數(shù)字多媒體組件的運行效果。
在虛擬博物館中,使用動態(tài)、有形的方式展示文化本身,除了能反映文物中所蘊含的文化精髓、還原文化生長的土壤之外,更能增強虛擬博物館本身的交互性和可學習性。因此,本文使用數(shù)字多媒體組件以動態(tài)的方式展示文化,讓參觀者能通過一種數(shù)字化靜態(tài)文物與動態(tài)影像結(jié)合的方式去了解文物中所包含的文化內(nèi)涵,使更多的訪問者能通過虛擬博物館了解和學習文化的具體內(nèi)容,發(fā)揮虛擬博物館在文化保護、傳承和發(fā)揚方面的巨大作用。
[1] 張秋蓮,李涵.360度全景展示在虛擬博物館中的應用探索[J].中國國家博物館館刊,2011(9):154-56.
[2] SYLAIOU S,LIAROKAPIS F,KOTSAKIS K,et al.Virtual museums,a survey and some issues for consideration[J].Journal of Cultural Heritage,2009(10):520-528.
[3] 卓么措.民族文化數(shù)字化保護與傳承研究[J].蘭臺世界,2012(12):95-96.
[4] 柯長青,馮學智,顧國琴.敦煌壁畫數(shù)字圖像的三維信息恢復[J].南京大學學報(自然科學版),2006,42(6):628-634.
[5] 段新昱,劉學莉,劉晨曦.虛擬殷虛博物苑的三維展示技術(shù)[J].系統(tǒng)仿真學報,2005,17(9):2187-2190.
[6] 鄭淳,尚濤.Vega Prime 環(huán)境下的古建筑虛擬現(xiàn)實系統(tǒng)[J].武漢大學學報(工學版),2006,39(2):83-87.
[7] 楊程,孫守遷,蘇煥.楚文化保護中編鐘樂舞的復原與展示[J].中國圖象圖形學報,2006,11(10):1474-1479.
[8] 胡少興,查紅彬,張愛武.大型古文物真三維數(shù)字化方法[J].系統(tǒng)仿真學報,2006,18(4):951-954,963.
[9] 楊安祺,殷耀文.秦鄭國渠數(shù)字文化遺產(chǎn)再現(xiàn)技術(shù)[J].陜西科技大學學報,2006,24(5):112-115.
[10] 胡遠志,潘華,凡沙沙.基于模塊化的約束系統(tǒng)高精度建模方法研究[J].重慶理工大學學報(自然科學),2017(7):1-11.
[11] 張超,魏三強,陳偉.一種基于螢火蟲算法的群體動畫行為控制仿真設(shè)計[J].重慶理工大學學報(自然科學),2017(1):100-106.
[12] 蔣偉杰.在線虛擬仿真實驗平臺架構(gòu)設(shè)計與實現(xiàn)[J].重慶理工大學學報(自然科學),2017(12):156-159.
[13] 房勁,蒲剛清,劉貞.低碳示范城市情景仿真模型研究[J].重慶理工大學學報(自然科學),2016(9):66-72.
[14] Unity 3D.Unity Manual[EB/OL].(2015-07-21)[2018-02-01].http://docs.unity3d.com/Manual/.
[15] Wiki.Unity[EB/OL].( 2015-07-21)[2018-02-01].http://en.wikipedia.org/wiki/Unity3D.
[16] 陳俊鋒.基于Unity3D的跨平臺手機網(wǎng)絡游戲的研究與實現(xiàn)[D].廣州:中山大學,2013.
[17] SHANG H,ZHENG Y G.Empirical Research on the Present Situation of Online Game Industry[J].Reformation & Strategy,2009(25):166-169.
[18] NGUI.NGUI Document[EB/OL].(2015-07-20)[2018-02-01].http://www.tasharen.com/?page_id=140.