林晨++林曉斌
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.015
摘 要: 應用增強現(xiàn)實交互技術(shù)時,對用戶動作的精確捕捉至關(guān)重要。Vizard環(huán)境對用戶動作辨識度高,與增強現(xiàn)實設備廣泛兼容。通過3DS MAX構(gòu)建虛擬魔方模型,利用Python語言編程實現(xiàn)虛擬魔方的用戶操作響應,研發(fā)了基于Vizard環(huán)境增強現(xiàn)實交互系統(tǒng)的虛擬魔方游戲,實現(xiàn)了虛擬魔方游戲的增強現(xiàn)實效果。應用結(jié)果表明,該方法能有效提高用戶動作辨識精度,帶給用戶良好的感官體驗。
關(guān)鍵詞: 增強現(xiàn)實; 動作捕捉; Vizard; 虛擬魔方游戲
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2016)07-53-03
Research on the application of augmented reality interactive technology in Vizard environment
Lin Chen, Lin Xiaobin
(Physics and Electronic Information Engineering, Minjiang University, Fuzhou, Fujian 350108, China)
Abstract: Vizard environment is high to the user action recognition and compatible with the augmented reality equipments widely. Building up 3D virtual Rubik's cube model by 3DS MAX, programming with Python language to realize the user operation response, a 3D virtual Rubik's cube game of augmented reality interactive technology in Vizard environment is developed, and the augmented reality effect for 3D virtual Rubik's cube game is realized. Application results show that the proposed method can effectively improve the accuracy of user action recognition and give the user a good sensory experience.
Key words: augmented reality; action tracking; Vizard; virtual Rubik's cube game
0 引言
融合了計算機視覺、圖形學、圖像顯示與識別等多個學科成果的增強現(xiàn)實技術(shù),是在虛擬現(xiàn)實技術(shù)基礎上發(fā)展起來的,它將現(xiàn)實世界信息和虛擬世界信息融合,把原本現(xiàn)實世界的一定時間空間范圍內(nèi)很難體驗到的實體信息通過計算機等模擬仿真后再疊加,將虛擬的信息應用到現(xiàn)實世界,被人類感官所感知,實現(xiàn)對虛擬場景的現(xiàn)實感的增強[1-3]。在研發(fā)增強現(xiàn)實交互技術(shù)時,對用戶動作的精確捕捉至關(guān)重要。
目前大量的增強現(xiàn)實開發(fā)技術(shù)是通過深度攝像頭捕捉用戶信息,并運用骨骼擬合來近似推斷用戶動作,對用戶動作辨識精度有限,如Kinect等。而Vizard除了利用紅外攝像頭獲取用戶信息外,還可通過多個與用戶特定部位綁定的定位設備來精確捕捉用戶動作,從而在最大程度上真實還原用戶的動作,很大程度上避免誤判。且Vizard環(huán)境與其增強現(xiàn)實設備完美的結(jié)合,可輕松實現(xiàn)計算機圖像與現(xiàn)實場景的融合。因此本文提出了一種基于Vizard環(huán)境的增強現(xiàn)實交互技術(shù)實現(xiàn)方法,利用該方法實現(xiàn)了對虛擬魔方游戲現(xiàn)實感的增強。實現(xiàn)結(jié)果表明了該方法的有效性和創(chuàng)新性,將Vizard引入研發(fā)增強現(xiàn)實交互技術(shù)中,有效提高用戶動作辨識精度,帶給用戶良好的感官體驗。
1 開發(fā)工具概述
1.1 3DS MAX概述
3DS MAX是美國Autodesk公司旗下Discreet分部開發(fā)的一款基于計算機系統(tǒng)的三維模型制作和渲染的軟件,已成為使用最廣的三維建模、動畫和渲染工具。在建筑和室內(nèi)設計、影視、游戲、教學及工程可視化等領域有廣泛應用,能很好的滿足高質(zhì)量動畫和設計的制作需求[4-5]。它具有建模功能強大,擴展性好,操作簡單,兼容性強等特點。
1.2 Vizard概述
美國WorldViz公司研發(fā)了一款功能強大的虛擬現(xiàn)實開發(fā)平臺軟件Vizard,它基于C/C++,運用OpenGL擴展模塊開發(fā)出的高性能圖形引擎,利用它可使構(gòu)建及渲染虛擬場景的效率大大提高,憑借其卓越的高效編程核心模塊,將整個虛擬現(xiàn)實應用引領至一個高速高效且成本低廉的全新境界[6]。它的軟硬件兼容性強,支持幾乎當前所有的虛擬現(xiàn)實設備和業(yè)界標準的各種3D模型格式,內(nèi)建虛擬人物庫、優(yōu)秀的物理引擎以及良好的擴展性,采用Python這款極具潛力又極易上手的腳本語言作為其編程核心,其發(fā)展前景毋庸置疑。兼容了世界上最廣泛使用的增強現(xiàn)實追蹤庫ARToolWorks的Vizard與VideoVison研發(fā)的增強現(xiàn)實硬件裝置如PPT,PPTWand,PPTEyes等的完美結(jié)合,可輕松實現(xiàn)計算機圖像與現(xiàn)實場景的追蹤與融合,增強三維虛擬場景的現(xiàn)實感。
2 基于3DS MAX和Vizard的虛擬魔方游戲設計與實現(xiàn)
虛擬魔方游戲由虛擬魔方建模和用戶操作響應兩個模塊構(gòu)成。建模模塊實現(xiàn)用戶能夠像使用真正的魔方一樣處理虛擬的魔方,該模塊通過3DS MAX軟件實現(xiàn)建模;用戶操作響應模塊實現(xiàn)用戶可通過鼠標點擊屏幕上的虛擬魔方來轉(zhuǎn)動魔方或是改變其空間狀態(tài),該模塊通過Python語言編程實現(xiàn)。
2.1 三維虛擬魔方建模
利用3DS MAX進行三維虛擬魔方建模,該模型設計需要獲取的數(shù)據(jù)主要有魔方空間尺寸及魔方材質(zhì)貼圖。三維虛擬魔方模型構(gòu)造的好壞,直接影響三維虛擬魔方游戲的真實度。在建立模型過程中應遵循一個原則:在能夠保證視覺對象不失真的前提下,盡量采用最簡單的模型,這樣可以使后期虛擬魔方的渲染更流暢。
在建模過程中,首先構(gòu)建魔方外形。在頂視圖中創(chuàng)建一個盒子,設其長、寬、高值為60,細分段數(shù)為3。將構(gòu)建好的盒子轉(zhuǎn)為可編輯多邊形。切換到修改面板,進入多邊形子對象層級,框選多邊形的所有面,選擇斜切選項,將Bevel類型選項的參數(shù)設為By,深度值和斜切值分別設為2和1,完成魔方基本形的細加工。然后材質(zhì)編輯。打開材質(zhì)編輯,把一個樣本球賦予魔方,把默認的標準材質(zhì)更改為多重/子對象。魔方一般都是塑料制品,表面光滑,在圓角處會有高光效果,接下來對高光效果進行設置,進入標準材質(zhì)的面板,將高光強度設為70,高光范圍設為50即可。渲染后發(fā)現(xiàn)魔方棱角分明導致高光效果不明顯,對魔方的相關(guān)參數(shù)作了如下調(diào)整:將網(wǎng)格光滑類型選為Classic,細分量的累接值設為1,光滑參數(shù)的強度值設為0.2。完成后的虛擬魔方模型以OSBG格式導入Vizard環(huán)境中,便于后續(xù)的用戶操作響應實現(xiàn)。
2.2 用戶操作響應實現(xiàn)
用戶操作響應由視角切換和變換兩個模塊構(gòu)成。視角切換模塊可實現(xiàn)用戶通過鼠標將視角切換到任意角度任意方向和移動到任何空間位置。視角變換模塊能使程序根據(jù)用戶在屏幕顯示的魔方圖像上不同位置點擊以及不同方向拖動,來實現(xiàn)用戶對魔方每個面的任意旋轉(zhuǎn)操作。這兩個模塊實現(xiàn)的算法都是基于三維投影的空間幾何原理,將用戶的鼠標操作(如點擊和拖動)轉(zhuǎn)換成三維空間中的信息,再通過幾何計算得出操作的響應,用戶僅通過鼠標不同方式的操作完成魔方全方位視角切換和變換操作。
視角切換模塊分為旋轉(zhuǎn)和平移兩種操作,分別由鼠標左鍵和右鍵完成,利用3D編程中鼠標撿取技術(shù)捕捉鼠標拖動的軌跡,獲得鼠標在屏幕坐標位移(dx,dy),將鼠標左鍵位移矢量(-dx,-dy,0)作為轉(zhuǎn)軸,鼠標移動路程作為轉(zhuǎn)角,求得旋轉(zhuǎn)變換矩陣,最后用矩陣乘法將變換矩陣復合到當前空間矩陣即可實現(xiàn)旋轉(zhuǎn)操作。平移操作通過計算鼠標右鍵位移矢量,并將位移矢量作為魔方模型的平移量復合到空間變換矩陣即可實現(xiàn)。視角變換模塊是另一種旋轉(zhuǎn)操作即僅對魔方的某個面的旋轉(zhuǎn),保持魔方的位置不變。這種變換操作依然是通過鼠標拖動來實現(xiàn),先捕捉鼠標的先前位置,計算其撿取射線選中的方塊序號a,然后捕捉當前位置,計算其撿取射線選中的方塊序號b,根據(jù)a和b查表判斷是否構(gòu)成對魔方某個面的移動,如果是,就對該面進行轉(zhuǎn)動操作。利用Python語言編程實現(xiàn)上述的用戶響應操作。實現(xiàn)結(jié)果如圖1所示。
3 基于Vizard的增強現(xiàn)實交互技術(shù)研究和實現(xiàn)
3.1 搭建基于Vizard的增強現(xiàn)實框架
增強現(xiàn)實的框架包括場景獲取、圖像識別、三維跟蹤注冊或配準[8]和虛實融合顯示等模塊[9]。本文中基于Vizard的增強現(xiàn)實框架搭建包括軟件和硬件框架兩個部分,其中硬件框架的搭建由兩個紅外攝像頭,方形定位器,PPTWand,PPTEyes和3D 眼鏡組成,紅外攝像頭獲取真實場景信息輸入到系統(tǒng)中,根據(jù)用戶設定的閾值將采集到的彩色圖像轉(zhuǎn)換為灰度圖,進行連通域分析,找到匹配區(qū)域,系統(tǒng)會找出一個標識點,該標識會以紅點的形式出現(xiàn)。然后將方形定位器與標識紅點相互感應進行準確定位,以便與后期的軟件框架搭建中的場景完美融合。軟件框架的搭建主要由導入增強現(xiàn)實原型、設定圖像轉(zhuǎn)換閾值、驅(qū)動PPTWand和驅(qū)動PPTEyes組成,軟件框架是運用Python語言編程配置與Vizard環(huán)境所兼容的增強現(xiàn)實追蹤庫ARToolWorks的相關(guān)參數(shù)模塊,與硬件框架相結(jié)合提供完美的增強現(xiàn)實效果。
3.2 實現(xiàn)虛擬魔方游戲的增強現(xiàn)實
利用上述框架實現(xiàn)虛擬魔方游戲的現(xiàn)實感,提高用戶的感官體驗,具體實現(xiàn)步驟如下:打開Vizard環(huán)境的增強現(xiàn)實追蹤庫ARToolWorks的接口,從Tools菜單項中選擇Inspector選項接收紅外攝像頭和定位器的信息。啟動紅外攝像頭,獲取真實場景信息,并讀入到Inspector對話框中進行連通域分析,找到匹配區(qū)域,系統(tǒng)會確定出一個紅色標識點,結(jié)合方形定位器定位匹配真實世界感應的區(qū)域。選擇Vizconnect選項進行參數(shù)配置,建立與硬件框架的聯(lián)系,配置參數(shù)項有Vizconnect_config_Desktop和Vizconnect_config_
CornerCAVE+Wand2014+PPTEyes,這兩項參數(shù)配置由Python語言編程實現(xiàn),包括頭文件模塊、輸入輸出模塊、事件模塊等14個部分。部分模塊的代碼如下。虛擬魔方游戲增強現(xiàn)實效果如圖2所示。
import viz
import vizconnect
#Application Settings
def initSettings():
#將鼠標與PPTWand建立連接
viz.mouse.setTrap(False)
viz.mouse.setVisible(viz.MOUSE_AUTO_HIDE)
vizconnect.setMouseTrapToggleKey('')
def initInterface():
#激活增強現(xiàn)實庫接口
vizconnect.interface.go(__file__,live=True,
openBrowserWindow=True,startingInterface=vizconnect.interface.INTERFACE_ADVANCED)
#加載虛擬魔方魔方游戲
if __name__ == "__main__":
initInterface()
viz.add('cubic.py')
4 結(jié)束語
本文著重介紹了基于Vizard環(huán)境的增強現(xiàn)實交互技術(shù)的研發(fā)。該技術(shù)有效提高用戶動作辨識度,給用戶良好的感官體驗,很好地體現(xiàn)了增強現(xiàn)實將虛實世界完美結(jié)合的獨特魅力,進而增強了虛擬魔方游戲的現(xiàn)實感。下一步將利用該框架對工業(yè)部件拆裝進行更深入的探索。增強現(xiàn)實技術(shù)融合了計算機視覺、計算機圖形學、圖像顯示與識別等多個學科成果,將在傳媒、醫(yī)療、軍事、家居與工業(yè)、藝術(shù)、醫(yī)療、娛樂和教育等領域得到更廣泛的應用和發(fā)展。
參考文獻(References):
[1] 王涌天,陳靖,程德文.增強現(xiàn)實技術(shù)導[M].科學出版社,2015.
[2] (美)穆勒.增強現(xiàn)實:必知必會的工具與方法[M].機械工業(yè)出
版社,2013.
[3] (美)基珀,(美)蘭博拉.增強現(xiàn)實技術(shù)導論[M].國防工業(yè)出版
社,2014.
[4] 時代印象.3DS MAX 2014完全自學教程[M].人民郵電大學
出版社,2014.
[5] 陳波.3D巨匠:3DS MAX完全手冊(建模篇)[M].科學出版社,
2012.
[6] Worldviz. Vizard virtual reality software [EB/OL]. http://
www.worldviz.com/izard-virtual-reality-software
[7] 桂振文.面向移動增強現(xiàn)實的場景識別與跟蹤注冊技術(shù)研究[D].
北京理工大學博士論文,2014.
[8] 董世明.基于Kinect的增強現(xiàn)實交互技術(shù)研究[D].上海大學
碩士論文,2014.