杜棋東,陳俞妃,朱金龍
(廣州鐵路職業技術學院,廣州 510430)
基于Kinect傳感器的體感減壓游戲關鍵技術及實現
杜棋東,陳俞妃,朱金龍
(廣州鐵路職業技術學院,廣州 510430)
針對電子游戲按鍵操作枯燥、虛擬度不足、互動趣味性不高等問題,設計開發基于Kinect的切西瓜體感減壓游戲。詳細介紹Kinect通信機制、Kinect數據采集技術、Unity3D、HTML5及體感交互等關鍵技術。體感減壓游戲對人們消除疲憊、輕松減壓有重要的意義。
Kinect;體感減壓;關鍵技術
2016年度廣東大學生科技創新培育專項資金立項項目(No.pdjh2016b0686)、廣東省科技計劃項目(No.2015A030401005)
伴隨信息技術的不斷創新,虛擬現實技術(VR)逐漸滲透到到各個領域,尤其是健康領域。融合健康理念,以虛擬游戲的方式,滿足大眾的健康需求。基于Kinect的體感減壓游戲是一種利用身體頭部、手部、腳步以及軀干等部位進行運動的姿態游戲,游戲通過Kinect傳感器獲取人體姿態信息數據,無需額外的硬件設備介入。體感減壓游戲把娛樂與健康理念相結合,一方面起到放松心情,減輕思想壓力的作用,另一方面協助鍛煉身體,滿足人們健康需求。
在目前的眾多游戲中,均存在長時間的按鍵操作、游戲虛擬度不足、游戲互動趣味性不高等問題。為了解決以上實際問題,本文以切西瓜體感減壓游戲游戲為例,利用Unity3D技術嵌入Kinect的3D攝影頭完成人體動作捕捉,呈現游戲界面,生成隨機參數控制水果模型,以及實現切水果音效和分割后的水果模型等。切西瓜體感游戲具有信息容量大、隨機參數演示等特點,用戶在虛擬環境中以交互的方式感受切西瓜的動作以及西瓜被分割后的樂趣,提高游戲的減壓效果。
以下將詳細介紹游戲需求、功能以及游戲架構,并著重從Kinect通信機制、Kinect數據采集技術、Unity3D、HTML5及體感交互等幾個方面,詳細介紹系統關鍵技術的實現。
1.1 游戲需求
當前,我國正在大力發展文化創意產業,游戲開發更是其中十分活躍的領域。VR體感減壓游戲是為了提高體感游戲的互動樂趣,讓用戶從繁重的工作中脫離出來,該游戲能夠滿足在任何連接Kinect設備的地方進行游戲交互。為充分結合Kinect所獨有的實時三維數據的特征以及充分利用三維空間的屬性開發富有創意的減壓游戲,通過訪問調查,了解不同群體對該游戲娛樂功能、健康理念的需求,聽取游戲開發的相關意見。
1.2 游戲功能
根據Kinect傳感器的體感減壓游戲功能,游戲采用模塊化的設計方式,將切西瓜游戲的開發歸納為三大模塊:人體姿勢的檢測及監聽交互模塊,水果物體創建、生產及銷毀模塊,切中西瓜模塊。基于Kinect的傳感技術,細化每個層次。
游戲具有以下功能:
(1)人體姿勢的檢測及監聽。通過Kinect傳感,實現Kinect坐標到屏幕坐標的轉換,達到人物進入場景的檢測及人物姿態監聽的目的。
(2)虛擬西瓜與用戶互動。全方位、多視角、深層次、生動地展現體感游戲的西瓜創建、生產以及銷毀。虛擬西瓜的運動效果均是隨機的,通過捕捉姿態,判斷用戶與西瓜的互動情況。
(3)切中西瓜。切中西瓜模塊,主要是西瓜與姿態的交互碰撞檢測、碰撞后的西瓜形態變化,以及游戲計分。該碰撞檢測融合了豐富的游戲種類可以滿足絕大多數用戶的娛樂需求。
1.3 游戲架構
基于Kinect傳感器的體感減壓游戲采用三層體系結構,包括Kinect設備輸入、事件產生和數據捕獲及游戲引擎處理。
如圖1所示。Kinect設備輸入位于底層,負責與數據源的交互操作,即通過Kinect設備,在微軟Kinect SDK的驅動下,準備接收外界的信息數據;事件產生和數據捕獲層是核心部分,在Kinect設備輸入層和游戲引擎處理層的中間,起到承上啟下的作用,通過Kinet Wrapper與Unity3D引擎進行硬件初始化、深度圖像三維重建、骨骼追蹤、人體行為分析、手勢軌跡識別以及交互控制等;游戲引擎處理層主要以客戶端的方式來表示體感游戲效果,經過骨骼數據、動態捕獲處理后,表現為很強的交互效果。
該游戲利用Kinect設備和Unity3D引擎的技術特點,設計了減壓游戲原型,以減壓游戲這種愉悅身心的內容為載體,為用戶實現了在真實與虛擬融合的空間中、直接與游戲場景中的元素進行互動的效果。
2.1 Kinect通信機制技術
以微軟提供的Kinect SDK為基礎,通過傳感器調用API接口方法,獲取人體的圖像、姿態、聲音等數據信息。具體通信機制分為以下四點:一是對Kinect傳感器進行初始化,打開重置外界圖像的顏色、深度、骨架等數據流;二是外界圖像獲取,首先通過Kinect獲取顏色、深度、骨架等數據信息,然后通過函數轉成對應圖像;三是姿態跟蹤分析,首先通過骨架節點分析當前姿態情況,然后調用點距離函數和點水平距離函數求出相關的距離信息;四是圖像顯示,通過調用不同的函數,顯示圖像的色彩、圖像的深度信息,以及分析后的骨架圖。

圖1 游戲開發構架
2.2 Kinect數據采集技術
Kinect采集重點分三部分,一是利用彩色攝像頭獲取外界的彩色圖像,分辨率為512×424(kinect 2.0版本),獲取的幀數是30幀/秒;二是利用兩個紅外攝像頭(紅外發射與紅外接收),獲得用戶的深度數據,數據處理后獲得用戶的姿態動作;三是麥克風陣列,獲取用戶的語音信息。體感交互游戲實現的關鍵就是通過數據進行深度圖像三維重建、骨骼信息追蹤、人體行為分析、手勢軌跡識別,以及交互控制等,通過對這些關鍵技術的研究,實現與游戲對象的精準交互。
在獲取到骨骼跟蹤數據后,需要對數據進行處理,排除其他環境因素、人為因素等的干擾,所以加了一個查找離Kinect最近的被跟蹤的骨骼算法。首先這個骨骼是被跟蹤的之一,計算這些跟蹤者頭部坐標的Z值大小,Z值越小的離Kinect越近,就認為用戶就是離
Kinect最近的被跟蹤的骨骼,也是我們需要Kinect記錄的用戶骨骼。如圖2所示。

圖2 Kinect感應器的視角圖
2.3 Unity3D、HTML5及Kinect的關鍵技術
Unity3D是一種比較流行的游戲開發引擎,利用Unity3D接收Kinect Wrapper傳遞的數據,包括Kinect硬件的初始化、圖像與深度的數據采集、數據處理等。HTML5具有包括插件少、語義化強與設備兼容性好等特性。游戲開發者可以通過Unity3D+HTML5對場景的元素,包括文本、圖像、圖形等應用不同的顏色,調整alpha透明度,修改旋轉角度、像素等,還可以使用JavaScript語言調用鍵盤鼠標輸入、定時器間隔、事件、對象、聲音數字函數等功能。切西瓜游戲系統采用Kinect跟蹤識別用戶姿態,主要是手勢,完成用戶的信息采集,然后通過姿態與游戲界面交互,進入游戲。
在微軟官網下載Kinect Wrapper Package for Unity3D,將下載好的包拖進Unity3D引擎中,打開Kinect-Sample,基于游戲需要將捕捉手部的骨骼保留,調整相應參數并加入Collider組件。在立體空間放置背景圖和背景音樂,背景圖前控制水果模型在一定范圍內生成,同時人體骨骼也控制在相應范圍內移動,實現切割行為,繼而產生切水果模型的音樂和相應的切割水果模型產生,如圖3所示。
2.4 體感游戲的交互分析
(1)水果模型生成和范圍界定
基于游戲需要制作三種水果模型和一個炸彈模型,模型生成給予向上的力:
fruit_.GetComponent
為了水果生成具有3D空間感,除了控制X軸相應范圍:
float x=Random.Range(-4.0f,4.0f);
還有給予Z軸一定的范圍:
float z=Random.Range(7.5f,8.5f);

圖3 調整參數、加入Collider組件
(2)切水果實現
通過Kinect設備捕捉人體控制游戲內手部骨骼,當控制的手部骨骼體與生成的水果模型接觸,引起了觸發信號,相應的水果模型銷毀,生產相應被切割的水果模型。
Destroy(other.gameObject);
如圖4所示,模型生產及切水果實現。

圖4 模型生產及切水果實現
(3)切水果音效和分開的水果模型生成
為手部骨骼體加入Audio Source組件,Play On Awake設置為false,引入代碼,當手部骨骼碰撞水果后,切水果音效出現(cutSource.Play(););為水果模型引入代碼,接觸到手部骨骼后,相應的分開水果模型生成:
Instantiate(SlideRed,transform.position,Random.rotation);
(4)倒計時結束和退出游戲。通過代碼設置游戲時間為60秒(float GameTime=60f;),并將其顯示與游戲面板左上角,隨著游戲的進行,時間從60秒不斷減少,當時間為0,時間漸漸淡出消失,然后彈出游戲結束界面:
ExitGUI.SetActive(true)。
本文基于Kinect開發的切西瓜體感減壓游戲游戲,采用Kinect通信機制、Kinect數據采集技術、Unity3D、HTML5及體感交互等關鍵技術,實現了人體姿勢的檢測及監聽交互,水果物體創建、生產及銷毀,切中西瓜效果等功能。體感減壓游戲體感交互性強,對人們消除疲憊、輕松減壓有重要的意義。經過研究測試表明,該游戲具有專業性、愉悅性、輕松性等特點,其開發思路適用于基于Kinect傳感器的體感減壓游戲,也可以為其他類型的基于Kinect游戲開發提供借鑒。
[1]李萌.基于Kinect的人群識別與跟蹤系統[D].福建:復旦大學.2013.
[2]沈淑濤,高飛,許寧.基于Kinect的頭部康復虛擬現實游戲[J].系統仿真學報,2016,28(8):1904-1908.
[3]丁晨,王君澤,瞿暢等.Kinect體感交互技術及其在醫療康復領域的應用[J].中國康復理論與實踐,2013,19(2):136-138.
[4]楊文璐,李唯杰.基于Kinect體感器的康復機械手臂系統算法設計與實現[J].電子設計工程,2014,22(20):27-30.
[5]湯翾,黃襄念,周杉.基于Kinect的肩周炎康復訓練動作識別系統研究[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-),男,廣東梅州人,碩士,講師,研究方向人機交互與智能算法、虛擬現實技術
陳俞妃(1995-),女,學生
朱金龍(1996-),男,學生
2016-09-06
2016-10-10