摘 要: 討論了虛擬現(xiàn)實(shí)技術(shù)用于陶瓷展示的可行性,關(guān)鍵技術(shù)和系統(tǒng)的實(shí)現(xiàn)過(guò)程。利用3DS MAX和PhotoShop建立展廳和瓷器的三維模型,并使用貼圖技術(shù)增強(qiáng)瓷器模型的真實(shí)感;使用開(kāi)源的圖形渲染引擎OGRE實(shí)現(xiàn)場(chǎng)景資源的組織和管理,并基于OGRE實(shí)現(xiàn)了虛擬展廳的實(shí)時(shí)交互和動(dòng)態(tài)漫游功能。
關(guān)鍵詞: 德化陶瓷; 虛擬展示; OGRE; 用戶(hù)交互
?
德化是聞名世界的瓷都,并且逐漸成為全國(guó)最大的工藝陶瓷生產(chǎn)與出口基地[1]。目前德化陶瓷產(chǎn)品的展示主要是通過(guò)在線(xiàn)的圖片展示和離線(xiàn)的樣品展覽來(lái)實(shí)現(xiàn)。對(duì)于這兩種傳統(tǒng)的樣品展示方式,文字和圖片展示只能提供靜態(tài)的局部的視覺(jué)體驗(yàn),真實(shí)感和交互性都比較差。而實(shí)物展覽則要求客戶(hù)花費(fèi)不菲的時(shí)間和金錢(qián)成本到現(xiàn)場(chǎng)參觀,這往往也會(huì)顯著延長(zhǎng)客戶(hù)下訂單的周期。近年來(lái),虛擬現(xiàn)實(shí)技術(shù)在物品展示和場(chǎng)景重建的應(yīng)用中日益受到人們的關(guān)注。虛擬現(xiàn)實(shí)利用計(jì)算機(jī)制作出來(lái)的類(lèi)似真實(shí)世界的虛擬環(huán)境,并可提供觀者實(shí)時(shí)性的互動(dòng)和沉浸式的逼真感受[2],它為快速的展示瓷器樣品和發(fā)布產(chǎn)品信息、降低交易成本和加速產(chǎn)品銷(xiāo)售提供了一種可行的思路。
1 系統(tǒng)概述
本課題利用相關(guān)的虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)了一個(gè)具有友好用戶(hù)交互和動(dòng)態(tài)漫游功能的虛擬陶瓷展廳,客戶(hù)可以在這個(gè)虛擬展廳中自由行走、任意觀看同時(shí)也可以借助交互式操作針對(duì)單個(gè)產(chǎn)品做更多細(xì)節(jié)的觀察。該系統(tǒng)包括圖形系統(tǒng)、腳本系統(tǒng)、交互系統(tǒng)、資源管理、場(chǎng)景管理等模塊。圖形模塊使用3DS MAX和PhotoShop建立展廳和瓷器的三維模型,腳本系統(tǒng)維護(hù)系統(tǒng)的所有配置文件和日志文件,交互系統(tǒng)則負(fù)責(zé)友好的場(chǎng)景交互功能。本系統(tǒng)使用開(kāi)源的圖形引擎OGRE實(shí)現(xiàn)場(chǎng)景元素組織和場(chǎng)景資源管理。整個(gè)陶瓷虛擬展廳系統(tǒng)的框架結(jié)構(gòu)設(shè)計(jì)如圖1所示。
?
2? 關(guān)鍵技術(shù)
2.1 瓷器三維建模
目前應(yīng)用于視景仿真的三維建模軟件主要有:MultiGen Creator、3DS MAX、MAYA、SOFTIMAGE/3D 等。
3DS MAX是PC機(jī)上最普及的三維動(dòng)畫(huà)和建模軟件,成本低廉,具有良好的軟件接口;系統(tǒng)集成了豐富的第三方插件,使得它具有強(qiáng)大的三維動(dòng)畫(huà)和特技效果制作等功能[3]。本文使用3DS MAX 9.0建立展廳和陶瓷產(chǎn)品的實(shí)體模型,并利用相關(guān)插件將其轉(zhuǎn)化為本系統(tǒng)支持的內(nèi)部文件格式。
獲取建立實(shí)體模型的相關(guān)參數(shù)是建模的準(zhǔn)備工作。數(shù)據(jù)采集往往可以通過(guò)使用相應(yīng)的測(cè)量設(shè)備測(cè)出產(chǎn)品原型或產(chǎn)品實(shí)物若干組點(diǎn)的坐標(biāo),進(jìn)而計(jì)算出模型參數(shù)。更簡(jiǎn)單且在實(shí)際應(yīng)用中可行的一種方法是由產(chǎn)品設(shè)計(jì)者提供模型參數(shù)。繪制表面紋理圖案是增強(qiáng)瓷器產(chǎn)品真實(shí)感的重要步驟,但是直接使用3DS MAX建模瓷器的表面紋理是一個(gè)十分困難的工作。通常,要將實(shí)物圖片貼到三維模型的表面,使瓷器產(chǎn)品具有更加逼真的視覺(jué)效果,這些實(shí)物圖片稱(chēng)為紋理貼圖。在具體操作中,先拍攝不同角度的實(shí)體照片,再用Photoshop對(duì)照片剪裁、校正和拼接等處理,最終得到所需的紋理貼圖。如圖2所示,整個(gè)瓷器產(chǎn)品的三維建模主要包括圖片處理和實(shí)體模型的建立兩個(gè)部分。
?
?
圖3給出了一個(gè)瓷器產(chǎn)品建模的實(shí)例。紋理貼圖被導(dǎo)入到3DS MAX并被貼合到瓷器的三維模型表面,然后賦予其真實(shí)的材質(zhì)、環(huán)境、燈光等,再通過(guò)渲染器渲染出逼真的效果。從圖3(b)可以看出,本文方法創(chuàng)建出的瓷器模型與真實(shí)的瓷器效果非常接近。本文系統(tǒng)使用OGRE圖形引擎組織和管理場(chǎng)景資源,所以,完成好的三維模型通過(guò)Deep Exploration進(jìn)行數(shù)據(jù)轉(zhuǎn)換、優(yōu)化后利用工具軟件3ds2mesh導(dǎo)出為OGRE所支持的.mesh文件。
?
2.2 場(chǎng)景資源的組織和管理
本文使用開(kāi)源的三維圖形渲染引擎OGRE(Object-oriented Graphics Rendering Engine)組織和管理場(chǎng)景資源以及實(shí)現(xiàn)虛擬展廳的實(shí)時(shí)漫游。OGRE是用C++開(kāi)發(fā)的面向?qū)ο笄沂褂渺`活的3D圖形引擎,讓開(kāi)發(fā)者能更方便和直接地開(kāi)發(fā)基于3D硬件設(shè)備的應(yīng)用程序或游戲。OGRE中的類(lèi)庫(kù)對(duì)更底層的Direct3D和OpenGL系統(tǒng)庫(kù)的全部使用細(xì)節(jié)進(jìn)行了抽象,并提供了基于現(xiàn)實(shí)世界對(duì)象的接口和其他類(lèi)。OGRE圖形引擎全面支持Direct3D和OpenGL,同時(shí)具有更高的開(kāi)發(fā)效率和更好的系統(tǒng)可擴(kuò)展性。
OGRE系統(tǒng)主要包括:Render系統(tǒng)和Render插件、Material系統(tǒng)和Material腳本、Entity(主要是物件系統(tǒng))、GUI系統(tǒng)和Overlay腳本、Texture和圖片解碼器、Archive系統(tǒng)和文件解碼器、Scene插件(主要是地形系統(tǒng))、粒子系統(tǒng)、日志、Dll動(dòng)態(tài)導(dǎo)入和插件系統(tǒng)等[4]。而系統(tǒng)所有的對(duì)象全部歸Ogre::Root統(tǒng)一管理。Root是整個(gè)OGRE的核心部分,通過(guò)Root對(duì)象可以配置系統(tǒng),還可以獲得系統(tǒng)內(nèi)的其他對(duì)象。圖4給出了OGRE中的關(guān)鍵對(duì)象及其關(guān)聯(lián)。
?
Ogre::SceneManager是OGRE的場(chǎng)景管理器,負(fù)責(zé)組織和管理場(chǎng)景中的物體,并將物體發(fā)送到渲染系統(tǒng)進(jìn)行渲染。OGRE將現(xiàn)實(shí)世界中的場(chǎng)景劃分成抽象的不同空間,這些空間還可以劃分成更小的子空間。每個(gè)空間都由一個(gè)場(chǎng)景節(jié)點(diǎn)SceneNode對(duì)象來(lái)管理,場(chǎng)景節(jié)點(diǎn)將處理移動(dòng)、旋轉(zhuǎn)和縮放等與空間相關(guān)的行為。在每個(gè)場(chǎng)景節(jié)點(diǎn)之上可以?huà)燧d各種場(chǎng)景元素,如Entity、Light、Camera等。OGRE將大量場(chǎng)景節(jié)點(diǎn)按照空間的劃分層次組織成樹(shù)狀結(jié)構(gòu),從而實(shí)現(xiàn)對(duì)整個(gè)場(chǎng)景的有序、高效管理。
3? 系統(tǒng)實(shí)現(xiàn)與結(jié)果
3.1 使用OGRE繪制視景
使用OGRE管理場(chǎng)景資源和繪制虛擬展廳的主要過(guò)程如下:
?。?)系統(tǒng)啟動(dòng),檢測(cè)OGRE動(dòng)態(tài)鏈接庫(kù);設(shè)備信息管理器從設(shè)備信息文件中讀入設(shè)備信息進(jìn)行初始化。
?。?)資源管理器從外部文件中載入系統(tǒng)需要使用的資源,包括模型文件(.mesh)、骨骼動(dòng)畫(huà)(.skeleton)、粒子模板定義文件(.particle)、材質(zhì)定義文件(.material),以及各種圖像文件。
?。?)建立場(chǎng)景管理器,建立成功后系統(tǒng)從場(chǎng)景文件中載入場(chǎng)景,并按照文件設(shè)置創(chuàng)建虛擬場(chǎng)景。整個(gè)場(chǎng)景由若干場(chǎng)景節(jié)點(diǎn)按照空間的劃分層次組織成樹(shù)狀結(jié)構(gòu)。
?。?)場(chǎng)景節(jié)點(diǎn)從瓷器三維模型定義文件中載入瓷器,載入后按模型文件指定值設(shè)置瓷器擺放的初始位置。
?。?)OGRE幀監(jiān)聽(tīng)器開(kāi)始循環(huán)監(jiān)聽(tīng),讀取串口或鼠標(biāo)鍵盤(pán)輸入,并進(jìn)行處理;然后將數(shù)據(jù)發(fā)送至相應(yīng)的場(chǎng)景節(jié)點(diǎn),場(chǎng)景節(jié)點(diǎn)通知綁定在其上的粒子發(fā)射器發(fā)射粒子;最后,OGRE渲染系統(tǒng)將視景渲染到顯示終端。
OGRE的場(chǎng)景管理器按照?qǐng)鼍拔募?chuàng)建虛擬展廳。本系統(tǒng)中定義了一種xml 格式的場(chǎng)景文件,其中關(guān)鍵信息是場(chǎng)景節(jié)點(diǎn)結(jié)構(gòu)。xml 的樹(shù)型結(jié)構(gòu)正好與場(chǎng)景節(jié)點(diǎn)的樹(shù)型結(jié)構(gòu)一致,該文件規(guī)定了節(jié)點(diǎn)對(duì)應(yīng)的網(wǎng)格模型、節(jié)點(diǎn)的縮放比例、節(jié)點(diǎn)的位置方向、是否是靜態(tài)物體。場(chǎng)景文件被載入后,系統(tǒng)對(duì) xml 文件中的Node 節(jié)點(diǎn)進(jìn)行遍歷,遇到 Node 節(jié)點(diǎn)時(shí)在 OGRE 應(yīng)用程序中創(chuàng)建場(chǎng)景節(jié)點(diǎn)Ogre::SceneNode。
3.2 用戶(hù)交互的實(shí)現(xiàn)
在虛擬漫游系統(tǒng)中,系統(tǒng)通過(guò)不斷改變視點(diǎn)和觀察點(diǎn)的位置來(lái)產(chǎn)生視景的三維動(dòng)畫(huà)。本系統(tǒng)中的場(chǎng)景控制主要包括以下兩個(gè)方面:鍵盤(pán)漫游和鼠標(biāo)控制。鍵盤(pán)漫游就是用戶(hù)通過(guò)操縱鍵盤(pán)來(lái)實(shí)現(xiàn)在三維場(chǎng)景中的任意漫游。通過(guò)鍵盤(pán)漫游用戶(hù)可以靈活、準(zhǔn)確地對(duì)場(chǎng)景進(jìn)行全方位觀察。鼠標(biāo)控制則是利用鼠標(biāo)進(jìn)行模型的多角度觀察以及放大、縮小等詳細(xì)查看場(chǎng)景對(duì)象。鍵盤(pán)控制前進(jìn)、后退、左移、右移,鼠標(biāo)控制視野的抬頭、低頭、左右旋轉(zhuǎn)。此外,用戶(hù)可用鼠標(biāo)選擇對(duì)象,對(duì)指定對(duì)象進(jìn)行瀏覽,其右鍵功能可以詳細(xì)查看瓷器信息的文本描述,包括瓷器名稱(chēng)、尺寸、產(chǎn)地、特性描述等。圖5(a)、(b)分別給出了一幅陶瓷虛擬展廳的全景圖和使用鼠標(biāo)控制詳細(xì)觀察所選定瓷器的近景圖。
?
本文使用相關(guān)虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)了一個(gè)具有樣品擺放和展示、用戶(hù)交互與場(chǎng)景漫游功能的陶瓷虛擬展廳原型系統(tǒng)。利用功能強(qiáng)大的開(kāi)源三維圖形渲染引擎OGRE完成虛擬場(chǎng)景的資源組織與管理,極大地降低了開(kāi)發(fā)成本并縮短了開(kāi)發(fā)周期,使得系統(tǒng)具有良好的平臺(tái)適應(yīng)性和可擴(kuò)展性。陶瓷虛擬展廳克服了傳統(tǒng)展示方式真實(shí)感較差,交互性不強(qiáng),而且展示成本高的缺點(diǎn),為實(shí)現(xiàn)快速、低成本的陶瓷樣品展示和縮短交易時(shí)間提供了一條可行的思路。同時(shí),虛擬展示系統(tǒng)如能夠與企業(yè)現(xiàn)有的計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)及在線(xiàn)銷(xiāo)售系統(tǒng)進(jìn)行整合,將很好地實(shí)現(xiàn)陶瓷產(chǎn)品設(shè)計(jì)、樣品展示、在線(xiàn)訂單一體化,極大降低企業(yè)成本,加快產(chǎn)品銷(xiāo)售速度。
參考文獻(xiàn)
[1]?蔡衛(wèi)紅. 德化陶瓷業(yè)國(guó)際化的戰(zhàn)略選擇[J]. 發(fā)展研究, 2006,22(1): 42-43.
[2]?石教英. 虛擬現(xiàn)實(shí)基礎(chǔ)及實(shí)用算法[M]. 北京: 科學(xué)出版社, 2002.
[3]?胡安林, 蘭海. 3ds Max材質(zhì)與貼圖應(yīng)用技法精粹[M]. 北京: 科學(xué)出版社, 2008.
[4]?Mage 小組.OGRE(Object-Oriented Graphics Rendering Engine)使用指南, 2003.