杜棋東,陳俞妃,朱金龍
(廣州鐵路職業(yè)技術(shù)學(xué)院,廣州 510430)
基于Kinect傳感器的體感減壓游戲關(guān)鍵技術(shù)及實(shí)現(xiàn)
杜棋東,陳俞妃,朱金龍
(廣州鐵路職業(yè)技術(shù)學(xué)院,廣州 510430)
針對電子游戲按鍵操作枯燥、虛擬度不足、互動趣味性不高等問題,設(shè)計(jì)開發(fā)基于Kinect的切西瓜體感減壓游戲。詳細(xì)介紹Kinect通信機(jī)制、Kinect數(shù)據(jù)采集技術(shù)、Unity3D、HTML5及體感交互等關(guān)鍵技術(shù)。體感減壓游戲?qū)θ藗兿v、輕松減壓有重要的意義。
Kinect;體感減壓;關(guān)鍵技術(shù)
2016年度廣東大學(xué)生科技創(chuàng)新培育專項(xiàng)資金立項(xiàng)項(xiàng)目(No.pdjh2016b0686)、廣東省科技計(jì)劃項(xiàng)目(No.2015A030401005)
伴隨信息技術(shù)的不斷創(chuàng)新,虛擬現(xiàn)實(shí)技術(shù)(VR)逐漸滲透到到各個領(lǐng)域,尤其是健康領(lǐng)域。融合健康理念,以虛擬游戲的方式,滿足大眾的健康需求?;贙inect的體感減壓游戲是一種利用身體頭部、手部、腳步以及軀干等部位進(jìn)行運(yùn)動的姿態(tài)游戲,游戲通過Kinect傳感器獲取人體姿態(tài)信息數(shù)據(jù),無需額外的硬件設(shè)備介入。體感減壓游戲把娛樂與健康理念相結(jié)合,一方面起到放松心情,減輕思想壓力的作用,另一方面協(xié)助鍛煉身體,滿足人們健康需求。
在目前的眾多游戲中,均存在長時間的按鍵操作、游戲虛擬度不足、游戲互動趣味性不高等問題。為了解決以上實(shí)際問題,本文以切西瓜體感減壓游戲游戲?yàn)槔?,利用Unity3D技術(shù)嵌入Kinect的3D攝影頭完成人體動作捕捉,呈現(xiàn)游戲界面,生成隨機(jī)參數(shù)控制水果模型,以及實(shí)現(xiàn)切水果音效和分割后的水果模型等。切西瓜體感游戲具有信息容量大、隨機(jī)參數(shù)演示等特點(diǎn),用戶在虛擬環(huán)境中以交互的方式感受切西瓜的動作以及西瓜被分割后的樂趣,提高游戲的減壓效果。
以下將詳細(xì)介紹游戲需求、功能以及游戲架構(gòu),并著重從Kinect通信機(jī)制、Kinect數(shù)據(jù)采集技術(shù)、Unity3D、HTML5及體感交互等幾個方面,詳細(xì)介紹系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)。
1.1 游戲需求
當(dāng)前,我國正在大力發(fā)展文化創(chuàng)意產(chǎn)業(yè),游戲開發(fā)更是其中十分活躍的領(lǐng)域。VR體感減壓游戲是為了提高體感游戲的互動樂趣,讓用戶從繁重的工作中脫離出來,該游戲能夠滿足在任何連接Kinect設(shè)備的地方進(jìn)行游戲交互。為充分結(jié)合Kinect所獨(dú)有的實(shí)時三維數(shù)據(jù)的特征以及充分利用三維空間的屬性開發(fā)富有創(chuàng)意的減壓游戲,通過訪問調(diào)查,了解不同群體對該游戲娛樂功能、健康理念的需求,聽取游戲開發(fā)的相關(guān)意見。
1.2 游戲功能
根據(jù)Kinect傳感器的體感減壓游戲功能,游戲采用模塊化的設(shè)計(jì)方式,將切西瓜游戲的開發(fā)歸納為三大模塊:人體姿勢的檢測及監(jiān)聽交互模塊,水果物體創(chuàng)建、生產(chǎn)及銷毀模塊,切中西瓜模塊?;贙inect的傳感技術(shù),細(xì)化每個層次。
游戲具有以下功能:
(1)人體姿勢的檢測及監(jiān)聽。通過Kinect傳感,實(shí)現(xiàn)Kinect坐標(biāo)到屏幕坐標(biāo)的轉(zhuǎn)換,達(dá)到人物進(jìn)入場景的檢測及人物姿態(tài)監(jiān)聽的目的。
(2)虛擬西瓜與用戶互動。全方位、多視角、深層次、生動地展現(xiàn)體感游戲的西瓜創(chuàng)建、生產(chǎn)以及銷毀。虛擬西瓜的運(yùn)動效果均是隨機(jī)的,通過捕捉姿態(tài),判斷用戶與西瓜的互動情況。
(3)切中西瓜。切中西瓜模塊,主要是西瓜與姿態(tài)的交互碰撞檢測、碰撞后的西瓜形態(tài)變化,以及游戲計(jì)分。該碰撞檢測融合了豐富的游戲種類可以滿足絕大多數(shù)用戶的娛樂需求。
1.3 游戲架構(gòu)
基于Kinect傳感器的體感減壓游戲采用三層體系結(jié)構(gòu),包括Kinect設(shè)備輸入、事件產(chǎn)生和數(shù)據(jù)捕獲及游戲引擎處理。
如圖1所示。Kinect設(shè)備輸入位于底層,負(fù)責(zé)與數(shù)據(jù)源的交互操作,即通過Kinect設(shè)備,在微軟Kinect SDK的驅(qū)動下,準(zhǔn)備接收外界的信息數(shù)據(jù);事件產(chǎn)生和數(shù)據(jù)捕獲層是核心部分,在Kinect設(shè)備輸入層和游戲引擎處理層的中間,起到承上啟下的作用,通過Kinet Wrapper與Unity3D引擎進(jìn)行硬件初始化、深度圖像三維重建、骨骼追蹤、人體行為分析、手勢軌跡識別以及交互控制等;游戲引擎處理層主要以客戶端的方式來表示體感游戲效果,經(jīng)過骨骼數(shù)據(jù)、動態(tài)捕獲處理后,表現(xiàn)為很強(qiáng)的交互效果。
該游戲利用Kinect設(shè)備和Unity3D引擎的技術(shù)特點(diǎn),設(shè)計(jì)了減壓游戲原型,以減壓游戲這種愉悅身心的內(nèi)容為載體,為用戶實(shí)現(xiàn)了在真實(shí)與虛擬融合的空間中、直接與游戲場景中的元素進(jìn)行互動的效果。
2.1 Kinect通信機(jī)制技術(shù)
以微軟提供的Kinect SDK為基礎(chǔ),通過傳感器調(diào)用API接口方法,獲取人體的圖像、姿態(tài)、聲音等數(shù)據(jù)信息。具體通信機(jī)制分為以下四點(diǎn):一是對Kinect傳感器進(jìn)行初始化,打開重置外界圖像的顏色、深度、骨架等數(shù)據(jù)流;二是外界圖像獲取,首先通過Kinect獲取顏色、深度、骨架等數(shù)據(jù)信息,然后通過函數(shù)轉(zhuǎn)成對應(yīng)圖像;三是姿態(tài)跟蹤分析,首先通過骨架節(jié)點(diǎn)分析當(dāng)前姿態(tài)情況,然后調(diào)用點(diǎn)距離函數(shù)和點(diǎn)水平距離函數(shù)求出相關(guān)的距離信息;四是圖像顯示,通過調(diào)用不同的函數(shù),顯示圖像的色彩、圖像的深度信息,以及分析后的骨架圖。
圖1 游戲開發(fā)構(gòu)架
2.2 Kinect數(shù)據(jù)采集技術(shù)
Kinect采集重點(diǎn)分三部分,一是利用彩色攝像頭獲取外界的彩色圖像,分辨率為512×424(kinect 2.0版本),獲取的幀數(shù)是30幀/秒;二是利用兩個紅外攝像頭(紅外發(fā)射與紅外接收),獲得用戶的深度數(shù)據(jù),數(shù)據(jù)處理后獲得用戶的姿態(tài)動作;三是麥克風(fēng)陣列,獲取用戶的語音信息。體感交互游戲?qū)崿F(xiàn)的關(guān)鍵就是通過數(shù)據(jù)進(jìn)行深度圖像三維重建、骨骼信息追蹤、人體行為分析、手勢軌跡識別,以及交互控制等,通過對這些關(guān)鍵技術(shù)的研究,實(shí)現(xiàn)與游戲?qū)ο蟮木珳?zhǔn)交互。
在獲取到骨骼跟蹤數(shù)據(jù)后,需要對數(shù)據(jù)進(jìn)行處理,排除其他環(huán)境因素、人為因素等的干擾,所以加了一個查找離Kinect最近的被跟蹤的骨骼算法。首先這個骨骼是被跟蹤的之一,計(jì)算這些跟蹤者頭部坐標(biāo)的Z值大小,Z值越小的離Kinect越近,就認(rèn)為用戶就是離
Kinect最近的被跟蹤的骨骼,也是我們需要Kinect記錄的用戶骨骼。如圖2所示。
圖2 Kinect感應(yīng)器的視角圖
2.3 Unity3D、HTML5及Kinect的關(guān)鍵技術(shù)
Unity3D是一種比較流行的游戲開發(fā)引擎,利用Unity3D接收Kinect Wrapper傳遞的數(shù)據(jù),包括Kinect硬件的初始化、圖像與深度的數(shù)據(jù)采集、數(shù)據(jù)處理等。HTML5具有包括插件少、語義化強(qiáng)與設(shè)備兼容性好等特性。游戲開發(fā)者可以通過Unity3D+HTML5對場景的元素,包括文本、圖像、圖形等應(yīng)用不同的顏色,調(diào)整alpha透明度,修改旋轉(zhuǎn)角度、像素等,還可以使用JavaScript語言調(diào)用鍵盤鼠標(biāo)輸入、定時器間隔、事件、對象、聲音數(shù)字函數(shù)等功能。切西瓜游戲系統(tǒng)采用Kinect跟蹤識別用戶姿態(tài),主要是手勢,完成用戶的信息采集,然后通過姿態(tài)與游戲界面交互,進(jìn)入游戲。
在微軟官網(wǎng)下載Kinect Wrapper Package for Unity3D,將下載好的包拖進(jìn)Unity3D引擎中,打開Kinect-Sample,基于游戲需要將捕捉手部的骨骼保留,調(diào)整相應(yīng)參數(shù)并加入Collider組件。在立體空間放置背景圖和背景音樂,背景圖前控制水果模型在一定范圍內(nèi)生成,同時人體骨骼也控制在相應(yīng)范圍內(nèi)移動,實(shí)現(xiàn)切割行為,繼而產(chǎn)生切水果模型的音樂和相應(yīng)的切割水果模型產(chǎn)生,如圖3所示。
2.4 體感游戲的交互分析
(1)水果模型生成和范圍界定
基于游戲需要制作三種水果模型和一個炸彈模型,模型生成給予向上的力:
fruit_.GetComponent
為了水果生成具有3D空間感,除了控制X軸相應(yīng)范圍:
float x=Random.Range(-4.0f,4.0f);
還有給予Z軸一定的范圍:
float z=Random.Range(7.5f,8.5f);
圖3 調(diào)整參數(shù)、加入Collider組件
(2)切水果實(shí)現(xiàn)
通過Kinect設(shè)備捕捉人體控制游戲內(nèi)手部骨骼,當(dāng)控制的手部骨骼體與生成的水果模型接觸,引起了觸發(fā)信號,相應(yīng)的水果模型銷毀,生產(chǎn)相應(yīng)被切割的水果模型。
Destroy(other.gameObject);
如圖4所示,模型生產(chǎn)及切水果實(shí)現(xiàn)。
圖4 模型生產(chǎn)及切水果實(shí)現(xiàn)
(3)切水果音效和分開的水果模型生成
為手部骨骼體加入Audio Source組件,Play On Awake設(shè)置為false,引入代碼,當(dāng)手部骨骼碰撞水果后,切水果音效出現(xiàn)(cutSource.Play(););為水果模型引入代碼,接觸到手部骨骼后,相應(yīng)的分開水果模型生成:
Instantiate(SlideRed,transform.position,Random.rotation);
(4)倒計(jì)時結(jié)束和退出游戲。通過代碼設(shè)置游戲時間為60秒(float GameTime=60f;),并將其顯示與游戲面板左上角,隨著游戲的進(jìn)行,時間從60秒不斷減少,當(dāng)時間為0,時間漸漸淡出消失,然后彈出游戲結(jié)束界面:
ExitGUI.SetActive(true)。
本文基于Kinect開發(fā)的切西瓜體感減壓游戲游戲,采用Kinect通信機(jī)制、Kinect數(shù)據(jù)采集技術(shù)、Unity3D、HTML5及體感交互等關(guān)鍵技術(shù),實(shí)現(xiàn)了人體姿勢的檢測及監(jiān)聽交互,水果物體創(chuàng)建、生產(chǎn)及銷毀,切中西瓜效果等功能。體感減壓游戲體感交互性強(qiáng),對人們消除疲憊、輕松減壓有重要的意義。經(jīng)過研究測試表明,該游戲具有專業(yè)性、愉悅性、輕松性等特點(diǎn),其開發(fā)思路適用于基于Kinect傳感器的體感減壓游戲,也可以為其他類型的基于Kinect游戲開發(fā)提供借鑒。
[1]李萌.基于Kinect的人群識別與跟蹤系統(tǒng)[D].福建:復(fù)旦大學(xué).2013.
[2]沈淑濤,高飛,許寧.基于Kinect的頭部康復(fù)虛擬現(xiàn)實(shí)游戲[J].系統(tǒng)仿真學(xué)報(bào),2016,28(8):1904-1908.
[3]丁晨,王君澤,瞿暢等.Kinect體感交互技術(shù)及其在醫(yī)療康復(fù)領(lǐng)域的應(yīng)用[J].中國康復(fù)理論與實(shí)踐,2013,19(2):136-138.
[4]楊文璐,李唯杰.基于Kinect體感器的康復(fù)機(jī)械手臂系統(tǒng)算法設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014,22(20):27-30.
[5]湯翾,黃襄念,周杉.基于Kinect的肩周炎康復(fù)訓(xùn)練動作識別系統(tǒng)研究[J].現(xiàn)代計(jì)算機(jī)(中旬刊),2014,23(8):53-55.
Key Technology and Implementation of Body Feeling Decompression Game Based on Kinect Device Sensor
DU Qi-dong,ZHU Jin-long,CHEN Yu-fei
(Guangzhou Railway Polytechnic,Guangzhou 510430)
Electronic games keystrokes as dry as a chip,a virtual deficiencies,interactive fun is not high,so designs and develops the access cut watermelon body feeling games to relieve stress,introduces the key technology of Kinect communication mechanism in details,Kinect data collection technology,Unity3D,HTML5 and somatosensory interaction.Body feeling decompression for people to eliminate fatigue,easy game has an important significance.
Kinect;Body Feeling Decompression;Key Technology
1007-1423(2016)30-0061-04
10.3969/j.issn.1007-1423.2016.30.016
杜棋東(1987-),男,廣東梅州人,碩士,講師,研究方向人機(jī)交互與智能算法、虛擬現(xiàn)實(shí)技術(shù)
陳俞妃(1995-),女,學(xué)生
朱金龍(1996-),男,學(xué)生
2016-09-06
2016-10-10