摘要:作為數(shù)字化農(nóng)業(yè)建設(shè)的重要組成部分,對(duì)傳統(tǒng)農(nóng)具進(jìn)行三維展示是虛擬農(nóng)業(yè)博物館建設(shè)的核心內(nèi)容。針對(duì)當(dāng)前數(shù)字博物館虛擬展示缺乏動(dòng)態(tài)模擬、低集合層次交互等問(wèn)題展開(kāi)研究。以成都平原農(nóng)耕文化館為原型,采用3d Max和Unity3D技術(shù)相結(jié)合的方法,設(shè)計(jì)實(shí)現(xiàn)了傳統(tǒng)農(nóng)具展品三維模型、結(jié)構(gòu)展示、工作原理和操作方法的交互式動(dòng)態(tài)模擬。結(jié)果表明,采用人機(jī)交互式控制展品的方法,能有效增強(qiáng)用戶的沉浸感、交互性和構(gòu)想性,也為重要農(nóng)耕文化遺產(chǎn)的傳承和利用創(chuàng)造了條件。
關(guān)鍵詞:虛擬博物館;三維展示;Unity3D;交互;傳統(tǒng)農(nóng)具
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):0439-8114(2016)12-3196-04
DOI:10.14088/j.cnki.issn0439-8114.2016.12.050
Abstract: As an important part of digital agriculture,3D display of traditional farm tools is the core content of the construction of virtual agricultural museum. This article is specified in the following actual problems such as current 3D display exhibits lack of dynamic simulation,low level interactive study etc. In the Chengdu Plain farming culture museum as the prototype,3d model,structure,working principle,operation method of simulation of traditional farm tools was designed and realized by 3d Max and Unity 3D. The results showed that using the method of human-computer interaction exhibits can effectively enhance the user immersive,interactive and imagination. It is also important to inheritance and utilization of farming culture heritage.
Key words: virtual museum; 3D display; Unity3D; interactive; traditional farm tool
隨著虛擬現(xiàn)實(shí)技術(shù)、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,虛擬博物館以其數(shù)字化、三維可視化的特點(diǎn),正在迅速發(fā)展,具有實(shí)體博物館不可替代的作用。中國(guó)農(nóng)耕文化源遠(yuǎn)流長(zhǎng)、內(nèi)容豐富,作為農(nóng)業(yè)歷史發(fā)展過(guò)程中的產(chǎn)物,傳統(tǒng)農(nóng)具是農(nóng)業(yè)物質(zhì)文化的重要組成部分。對(duì)傳統(tǒng)農(nóng)具進(jìn)行數(shù)字化模擬和三維展示,是實(shí)現(xiàn)農(nóng)具保護(hù)、傳承和利用的有效手段,是弘揚(yáng)農(nóng)耕文化的一項(xiàng)重要內(nèi)容[1]。
1 虛擬博物館三維展示技術(shù)
1.1 三維展示技術(shù)
當(dāng)前許多國(guó)家和地區(qū)都基于實(shí)體博物館建立了在線數(shù)字博物館,對(duì)于展品的三維展示,主要通過(guò)兩種方法實(shí)現(xiàn):①基于二維圖像的三維展示技術(shù)?;趫D像的三維展示是利用數(shù)碼影像技術(shù),對(duì)要展示的對(duì)象進(jìn)行實(shí)景拍攝,采用圖像拼合和插值技術(shù),建立具有三維視覺(jué)效果的圖片[2]。這類(lèi)方法一般應(yīng)用于對(duì)細(xì)節(jié)和內(nèi)部結(jié)構(gòu)表達(dá)要求不高的外觀或整體效果的展示場(chǎng)合[3],優(yōu)點(diǎn)是開(kāi)發(fā)成本低、制作效率高、文件體積小;局限性在于交互性弱、對(duì)象的可重用性和擴(kuò)展性低。②Web3D交互瀏覽展示。Web3D(Quest3D、VRP、Unity3D等)技術(shù)的出現(xiàn),改變了傳統(tǒng)網(wǎng)頁(yè)瀏覽中無(wú)法顯示交互三維物體的弊端,信息獲取由閱讀型轉(zhuǎn)變?yōu)楦惺苄停瑥V泛地滿足了用戶參與的需求[4,5]。這種展示方式便捷高效、交互性強(qiáng)、逼真度高,對(duì)象的可重用性高;缺點(diǎn)是三維建模周期長(zhǎng)、成本高。隨著三維建模技術(shù)的發(fā)展和網(wǎng)絡(luò)技術(shù)的進(jìn)步,基于真實(shí)三維模型的Web展示技術(shù)得到了越來(lái)越多行業(yè)的廣泛青睞。
1.2 虛擬農(nóng)業(yè)博物館傳統(tǒng)農(nóng)具三維展示存在的問(wèn)題
國(guó)內(nèi)比較著名的農(nóng)業(yè)類(lèi)博物館有中國(guó)農(nóng)業(yè)博物館、北京農(nóng)業(yè)博物館等,其三維展示系統(tǒng)對(duì)比結(jié)果如表1所示。這些數(shù)字博物館在傳統(tǒng)農(nóng)具外觀三維模擬、展示方面做了大量工作,但在信息展示、信息系統(tǒng)化傳遞方面還存在以下問(wèn)題:①展示形式、手段單一。展示形式以圖文為主,少部分博物館實(shí)現(xiàn)了虛擬實(shí)物展示效果,但以模型的整體靜態(tài)形態(tài)展示為主,缺乏對(duì)關(guān)鍵部件進(jìn)行拆卸、移動(dòng)、展示、透視等操作功能;較少涉及模型工作原理和操作方法的動(dòng)態(tài)模擬[6]。人機(jī)交互少,表現(xiàn)為較低的集合層次上(如選擇、縮放、旋轉(zhuǎn)和平移等)參與交互任務(wù)的執(zhí)行[7];同時(shí),對(duì)于模型交互展示的熱點(diǎn)鏈接通常都是建立在二維頁(yè)面上,不利于模型的充分展示和用戶的深入體驗(yàn),這對(duì)于農(nóng)耕文化的有效傳承和利用是遠(yuǎn)遠(yuǎn)不夠的[8]。②實(shí)用性和專(zhuān)業(yè)性不突出。大部分農(nóng)業(yè)數(shù)字博物館定位于農(nóng)業(yè)科普和教育,對(duì)于以農(nóng)業(yè)研究為主的專(zhuān)業(yè)目標(biāo)群體尚未專(zhuān)門(mén)針對(duì),結(jié)合區(qū)域農(nóng)耕文化特色展開(kāi)研究的農(nóng)業(yè)數(shù)字博物館十分稀少。③兼容性和擴(kuò)展性不足。三維在線展示系統(tǒng)因其制作工具的多樣化,資源重復(fù)建設(shè)現(xiàn)象嚴(yán)重,平臺(tái)移植性差,數(shù)據(jù)庫(kù)緊耦合等,導(dǎo)致系統(tǒng)兼容性和擴(kuò)展性不足,不利于博物館數(shù)字資源的整合、重建和共享。
2 基于Unity3D的傳統(tǒng)農(nóng)具三維交互展示設(shè)計(jì)
Unity3D是一個(gè)跨平臺(tái)、綜合性的專(zhuān)業(yè)游戲引擎。將其用于博物館的三維可視化開(kāi)發(fā),主要基于以下優(yōu)點(diǎn):①Unity3D是一個(gè)層級(jí)式的開(kāi)發(fā)環(huán)境[9],擁有功能完備的編輯器,基于組件的對(duì)象系統(tǒng),可定制的IDE環(huán)境,代碼驅(qū)動(dòng)的開(kāi)發(fā)模式,實(shí)時(shí)的動(dòng)態(tài)預(yù)覽效果;②基于Mono的開(kāi)發(fā)腳本簡(jiǎn)單高效,既減少了安全隱患,又降低了跨平臺(tái)代碼編寫(xiě)的難度;③便利的多平臺(tái)開(kāi)發(fā)、部署、發(fā)布特性,支持多種插件,可以發(fā)布成網(wǎng)頁(yè)瀏覽的方式,不用下載和安裝客戶端,就可以直接體驗(yàn)[10]。
2.1 三維模型制作
對(duì)傳統(tǒng)農(nóng)具進(jìn)行虛擬建模和工作原理模擬,豐富傳統(tǒng)農(nóng)具的三維展示功能。以扇谷風(fēng)車(chē)為例,利用3d Max進(jìn)行模型和材質(zhì)制作,建模分為4個(gè)部分:風(fēng)箱(含風(fēng)葉、搖手)、漏斗(含米斗)、出風(fēng)口、腳架。為了有效控制模型面數(shù)和便于后期的交互設(shè)計(jì),采用多邊形建模方法,同時(shí)對(duì)模型從3個(gè)方面進(jìn)行優(yōu)化:①使用簡(jiǎn)化工具減少三角形面片的數(shù)量[11];②對(duì)于相同結(jié)構(gòu)的部件組成如漏斗、米斗等采用實(shí)例方式克??;③合并使用相同貼圖的材質(zhì)球及其Mesh網(wǎng)格對(duì)象。
2.2 模型導(dǎo)入U(xiǎn)nity3D
由于Unity3D無(wú)法識(shí)別Max格式文件,所以在3d Max中把Max文件導(dǎo)出成fbx格式再導(dǎo)入到Unity3D中。在導(dǎo)入過(guò)程中,針對(duì)出現(xiàn)的一些問(wèn)題采取了相應(yīng)的解決辦法:①單位設(shè)置。Unity3D中的1單位是fbx文件中1單位的100倍,因此在3d Max中單位設(shè)置成1 cm相當(dāng)于Unity3D中單位設(shè)置為1 m。②軸向問(wèn)題。Unity3D和3d Max的坐標(biāo)系不一致,Unity3D是Z軸向上,3d Max是Y軸向上,容易導(dǎo)致模型坐標(biāo)錯(cuò)亂。針對(duì)3d Max2009以上版本采用輸出插件或利用Reset Xform重新定義Transform信息可以有效解決軸向問(wèn)題。③材質(zhì)問(wèn)題。在3d Max中賦予的材質(zhì)導(dǎo)入到Unity3D中不會(huì)被正確顯示,但Unity3D自動(dòng)生成了這些材質(zhì)的材質(zhì)球,要將材質(zhì)重新賦予1遍。貼圖放置在同一文件夾中會(huì)自動(dòng)導(dǎo)入。
2.3 模型的運(yùn)動(dòng)仿真
扇骨風(fēng)車(chē)的工作原理(圖1)是風(fēng)葉一邊高,另一邊低于風(fēng)來(lái)的方向,可以使風(fēng)在風(fēng)葉表面形成轉(zhuǎn)向力,往一個(gè)方向吹動(dòng)(由高到低),所以風(fēng)車(chē)轉(zhuǎn)動(dòng)。打開(kāi)谷物漏斗,谷物受到風(fēng)的吹動(dòng),重的飽滿谷粒(或米)直接從最近的米斗落下,中間的是半飽滿谷粒,遠(yuǎn)處的是秕谷和茅草(或糠),越輕的飄得越遠(yuǎn),從而達(dá)到分離的目的[12]。風(fēng)車(chē)靠手工轉(zhuǎn)動(dòng),速度太快,飽滿的谷粒會(huì)從半飽滿谷粒出口落下;速度過(guò)慢,秕谷則不能充分分離。
2.3.1 模型的層次關(guān)系 主要進(jìn)行傳統(tǒng)農(nóng)具結(jié)構(gòu)和工作模擬展示,其機(jī)械動(dòng)力原理不作為研究重點(diǎn)內(nèi)容。嚴(yán)格的層級(jí)關(guān)系設(shè)置使得后面的仿真運(yùn)動(dòng)交互設(shè)計(jì)得到大幅度簡(jiǎn)化(表2)。
2.3.2 模型的外觀結(jié)構(gòu)交互展示 在現(xiàn)有的虛擬農(nóng)具模型三維展示功能基礎(chǔ)上,本研究為模型加入了多視圖(頂/底、前/后、左/右、透視)展示控制、多維旋轉(zhuǎn)展示和部件拆卸、透視觀察的功能。①多視圖展示利用不同視圖的渲染效果,通過(guò)交互按鈕控制展示。②多維旋轉(zhuǎn)展示功能設(shè)計(jì)中,由于鼠標(biāo)的坐標(biāo)系是二維的,需要轉(zhuǎn)化為三維的世界坐標(biāo)系,在三維情況下計(jì)算鼠標(biāo)位置與物體的距離。采用Vector3結(jié)構(gòu)體變量ScreenSpace存儲(chǔ),以此來(lái)明確屏幕坐標(biāo)系Z軸的位置。用戶在布展過(guò)程中,可自主選擇鎖定X、Y、Z任一坐標(biāo)軸的方式進(jìn)行交互式觀察。③為解決風(fēng)車(chē)模型在裝配后,一些部件被外部零部件遮擋,無(wú)法看到內(nèi)部結(jié)構(gòu)的問(wèn)題,設(shè)計(jì)了部件縮放、透視觀察和高亮顯示功能[13,14]。當(dāng)鼠標(biāo)點(diǎn)擊到有相互遮擋的零部件時(shí),外部的零部件會(huì)變?yōu)榘胪该?,將?nèi)部的零部件顯示出來(lái)[15]。當(dāng)鼠標(biāo)點(diǎn)擊某個(gè)零部件時(shí),該部分會(huì)被放置到視口中央并最大化顯示出來(lái),并可進(jìn)行移動(dòng)觀察,幫助用戶認(rèn)識(shí)和掌握扇谷風(fēng)車(chē)模型的具體結(jié)構(gòu)。
2.3.3 扇谷風(fēng)車(chē)的工作原理動(dòng)態(tài)模擬 以扇谷風(fēng)車(chē)篩谷為例,通過(guò)鼠標(biāo)交互控制插銷(xiāo)的位移運(yùn)動(dòng),帶動(dòng)啟門(mén)旋轉(zhuǎn)運(yùn)動(dòng);設(shè)定好搖臂旋轉(zhuǎn)速度并轉(zhuǎn)動(dòng)搖臂即可帶動(dòng)風(fēng)葉旋轉(zhuǎn),谷物粒子下落運(yùn)動(dòng)、分離。具體的工作流程如圖2所示。
扇谷風(fēng)車(chē)的工作原理動(dòng)態(tài)模擬實(shí)現(xiàn)過(guò)程:①插銷(xiāo)的位移運(yùn)動(dòng),通過(guò)從鼠標(biāo)發(fā)出的射線與插栓相碰,則調(diào)用onMouseDrag函數(shù)。取從鼠標(biāo)發(fā)出的射線與插栓相碰的坐標(biāo),賦給mouseMove,再將mouseMove的x坐標(biāo)和y坐標(biāo)賦給插銷(xiāo),讓插銷(xiāo)貼在插栓上移動(dòng)。②插銷(xiāo)帶動(dòng)啟門(mén)的運(yùn)動(dòng),通過(guò)創(chuàng)建驅(qū)動(dòng)實(shí)現(xiàn)動(dòng)畫(huà)效果。將插銷(xiāo)的位移運(yùn)動(dòng)作為主動(dòng)物體,啟門(mén)的旋轉(zhuǎn)運(yùn)動(dòng)作為被驅(qū)動(dòng)對(duì)象。其中,啟門(mén)的旋轉(zhuǎn)運(yùn)動(dòng)中心點(diǎn)為局部坐標(biāo),圍繞自身邊軸旋轉(zhuǎn)。③搖臂有自轉(zhuǎn)運(yùn)動(dòng)和帶動(dòng)風(fēng)葉旋轉(zhuǎn)運(yùn)動(dòng),為確保多級(jí)運(yùn)動(dòng)關(guān)系順利進(jìn)行,在設(shè)置搖臂旋轉(zhuǎn)運(yùn)動(dòng)時(shí),通過(guò)創(chuàng)建Null空對(duì)象并修改其中心點(diǎn)至搖臂旋轉(zhuǎn)點(diǎn),為空對(duì)象設(shè)置旋轉(zhuǎn)運(yùn)動(dòng),并設(shè)置空對(duì)象與搖臂的父子關(guān)系。同時(shí),風(fēng)葉又作為搖臂的子對(duì)象,繼承搖臂的旋轉(zhuǎn)運(yùn)動(dòng)。④扇谷風(fēng)車(chē)對(duì)谷物的分離通過(guò)將不同質(zhì)量的谷粒下落到不同漏斗中實(shí)現(xiàn)。Unity3D內(nèi)置了目前最為廣泛使用的NVIDIA的Physx物理引擎。Rigidbody(剛體)可接受外力與扭矩力使對(duì)象在物理系統(tǒng)的控制下運(yùn)動(dòng)。創(chuàng)建剛體小球模擬谷粒顆粒,質(zhì)量設(shè)為隨機(jī)數(shù)10 g,添加材質(zhì)后用克隆的方式將谷物充滿漏斗。扇谷風(fēng)車(chē)作業(yè)時(shí),打開(kāi)啟門(mén)開(kāi)關(guān),谷粒由于重力自動(dòng)下落,根據(jù)剛體小球的質(zhì)量大小的條件判斷,決定小球下落的通道和位置,為風(fēng)車(chē)的篩谷作業(yè)提供參考。扇谷風(fēng)車(chē)的工作模擬效果如圖3所示。
2.3.4 模型的發(fā)布展示 Unity3D具有豐富的跨平臺(tái)性,用戶可以在10多個(gè)不同的平臺(tái)上創(chuàng)建和部署開(kāi)發(fā)項(xiàng)目[16];Unity3D也會(huì)根據(jù)不同的平臺(tái)而自動(dòng)調(diào)整資源滿足目標(biāo)硬件和平臺(tái)的需求。開(kāi)發(fā)的展品系統(tǒng)既可發(fā)布為Windows Web版本,也可移植為 iPhone、iPad、Andriod等移動(dòng)終端系統(tǒng),只需一鍵即可完成作品的多平臺(tái)開(kāi)發(fā)和部署,用戶只需要在安裝有Unity Web Player插件的任何瀏覽器上即可運(yùn)行。
3 小結(jié)
3d Max、Unity3D軟件結(jié)合使用,實(shí)現(xiàn)了傳統(tǒng)農(nóng)具的三維交互展示和工作原理模擬。模型三維展示系統(tǒng)操作友好、效果豐富,實(shí)用性強(qiáng),具備較強(qiáng)的兼容性和可擴(kuò)展性。交互控制平臺(tái)以Web形式運(yùn)行,所有數(shù)據(jù)內(nèi)嵌到瀏覽器中,方便靈活[17],為數(shù)字博物館平臺(tái)的虛擬仿真設(shè)計(jì)提供了新的方法和思路,但其中也存在一些問(wèn)題有待進(jìn)一步深入研究:①扇谷風(fēng)車(chē)工作過(guò)程中隨著搖臂運(yùn)動(dòng)產(chǎn)生的風(fēng)力場(chǎng)模擬是研究的重點(diǎn)和難點(diǎn);②谷粒剛體的運(yùn)動(dòng)受到自身重力、風(fēng)力、與漏斗面板之間的摩擦力等因素影響,對(duì)更為逼真的篩谷交互模擬是下一步的研究方向;③隨著移動(dòng)智能終端技術(shù)的不斷發(fā)展和廣泛普及,基于移動(dòng)平臺(tái)的交互式三維展示技術(shù)研究將是未來(lái)發(fā)展的新方向。
參考文獻(xiàn):
[1] 保護(hù)農(nóng)業(yè)文化遺產(chǎn)傳承中華農(nóng)耕文明[EB/OL].http://www.agri.gov.cn/V20/SC/jjps/201405/t20140514_3903634.htm.
[2] 胡 萍.基于二維圖像的三維虛擬場(chǎng)景及產(chǎn)品展示系統(tǒng)的建立[D].成都:四川大學(xué),2006.
[3] 林綺屏.關(guān)于Web3D技術(shù)的網(wǎng)絡(luò)三維展示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].情報(bào)科學(xué),2011,29(5):692-693.
[4] 馬鳳娟,李 濤.基于Web3D的網(wǎng)上三維地球科學(xué)博物館構(gòu)建研究[J].軟件導(dǎo)刊,2012,11(9):170-171.
[5] 王 寧,李 罡.關(guān)于數(shù)字博物館展品數(shù)字化展示技術(shù)的研究[J].科技通報(bào),2013,29(2):178-180.
[6] 袁海波,劉厚泉,潘志庚,等.虛擬博物館中基于場(chǎng)景語(yǔ)義的三維交互[J].微計(jì)算機(jī)信息,2009,25(27):175.
[7] 梁惠娥,張守用.虛擬三維服裝展示技術(shù)的現(xiàn)狀與發(fā)展趨勢(shì)[J].紡織導(dǎo)報(bào),2015(3):70-73.
[8] 王 磊,高 玨,金 野,等.基于Web3D無(wú)插件的三維模型展示的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(4):217-220.
[9] RYAN H C. Unity 3D Game Development by Example[M]. Birmingham:Packt Publishing Ltd.,2010.
[10] KODOVSKY J,F(xiàn)RIDRICH J,HOLUB V. Ensemble classifiers for steganalysis of digital media[J]. Trans on Information Forensics and Security,2012,7(2):432-444.
[11] 江能興,周淦淼.基于3DS MAX的三維模型的優(yōu)化研究[J].計(jì)算機(jī)與數(shù)字工程,2012,40(4):136-137.
[12] 王衛(wèi)民.風(fēng)車(chē)與揚(yáng)場(chǎng)機(jī)[EB/OL].[2002-04-15]http://wenku.baidu.com/view/83b2c21552d380eb62946dda.html.
[13] 陳 洪,馬 欽,朱德海.基于Unity3D的交互式虛擬農(nóng)業(yè)仿真平臺(tái)研究[J].農(nóng)機(jī)化研究,2012,34(3):184-186.
[14] 相茂英,馬純永,韓 勇,等.基于Unity3D的化工設(shè)備虛擬培訓(xùn)系統(tǒng)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(7):196-200.
[15] 呂萌萌,郭新宇,陸聲鏈,等.基于Unity 3D果樹(shù)交互虛擬修剪技術(shù)及其實(shí)現(xiàn)[J].農(nóng)機(jī)化研究,2015(4):8.
[16] 師 翊,劉桂陽(yáng),劉金明.基于Unity3D的撒肥機(jī)虛擬仿真[J].農(nóng)機(jī)化研究,2014,36(7):136-137.
[17] 郭海新. Unity3D與HTML交互機(jī)理的研究[J]. 煤炭技術(shù),2011,30(9):228-229.