999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kinect的游戲控制系統研究與實現

2017-07-26 23:48:37賈騁王卓李妍李依明
新媒體研究 2017年9期
關鍵詞:游戲

賈騁+王卓+李妍+李依明

吉林動畫學院,吉林長春 132000

摘 要 隨著虛擬現實技術的快速發展,越來越多的游戲采用虛擬現實設備進行游戲的控制。而目前虛擬現實游戲的控制更多采用基于手柄識別的體感方法,Kinect則很好地解決了這樣的問題,其獨特的識別技術可以直接識別人體動作,擺脫了游戲人員需要手持設備的缺點。文章通過對Kinect進行研究,最終完成游戲控制系統研究與實現。

關鍵詞 Kinect;游戲;控制系統

中圖分類號 G2 文獻標識碼 A 文章編號 2096-0360(2017)09-0042-03

體感技術,即通過計算機軟件及硬件技術,采用特殊設備識別或感應人體動作的技術。此項技術的發明除了使人類與計算機的互動擺脫了傳統手持硬件設備的束縛,更加增強了身臨其境的體驗。目前大多的體感技術都采用手持識別設備,由體感識別攝像機識別設備的距離和移動。而Kinect則完全擺脫了手持設備的使用,完全基于體感攝像頭來識別人體動作。尤其隨著虛擬現實技術的發展,越來越多的虛擬現實頭盔設備出現,虛擬現實游戲逐漸開始走入人們的生活。目前虛擬現實設備主要有HTC Vive、Oculus Rift、Gear等,雖然設備技術先進,但仍然未能擺脫手持設備的使用,這造成了虛擬現實的體驗感不強、感受不深刻等問題。尤其在游戲體驗中更加會出現操作復雜、控制不便等問題。因此,采用Kinect開發一款游戲控制系統具有相當重要的價值。

1 動作識別

1.1 Kinect骨骼識別原理

Kinect體感攝像頭是由微軟公司對出的一款體感識別器,其采用光編碼技術進行連續的照明,也即是結構光技術的一種。但區別于一般的結構光方式,Kinect光源發射的并非是一組周期變化的平面編碼,而是具有一定縱深的三維格式編碼。當這種光源照射到物體表面后會形成激光色斑。當光源發射到空間中進而照射到不同的物體時,就會形成不同的色斑圖案,通過判斷色斑圖案即可以判斷物體的位置。而識別人體動作也采用此種技術,基于事先完成的存儲的人體數據,通過判斷光源照射到人體形成的色斑進行特征提取和比對,根據色斑的運動識別人體關節并最終生成骨骼和結點數據,如圖1。

通過Kinect識別人體將人體進行特征提取的骨骼系統和關節結點數據包括頭部、左右肩、左右手等20個結點,這些結點能有效跟隨人體的移動而在三維空間中移動,因此在判斷一個人體動作時,可以通關判斷各個關節結點的相對位置、速度等變量,與編輯好的動作集進行數據比對,就可以進行動作的識別。

1.2 動作識別方法

人體做出的所有動作都是通過各個關節組合完成,因此識別動作可以直接識別關節數據及其他相關信息即可,因此可以將人體的多有動作進行特征提取。通過將人體動作簡化,直接提取動作的關鍵特征進行判斷,再進行與結點數據的結合最終形成動作的識別方法。例如,通過特征提取方法可以發現,完成左手舉手動作時,左手結點平行或高于左肘結點,且高于左肩結點。此時,當一個動作滿足上述條件時就可以認定為完成了左手舉手的靜態動作。同理,當識別左腳抬起時,可以進行特征提取,當左腳結點位置高于右腳結點位置,且左膝結點位置高于右膝結點位置,即可認定為左腳抬起動作完成。因此,將所有結點通過三維空間坐標記性標記,獲取position.x,position.y,position.z位置參數,并通過結點特征以三維參數為基礎作為判斷結果。以左手抬起為例,當LH.position.y>=LE.position.y&&LH.position.y>LS.LH.position.y時,即認定為左手抬起動作完成。當LF.position.y>RF.position.y&&LK.position.y>RK.position.y時,即認定為左腳抬起動作完成。

基于Kinect的動作識別除了可以識別靜態動作以外,還可以進行動態動作的識別。結合靜態動作識別的基礎,即可完成動作識別動作的特征提取。通過特征提取可以發現,動態動作可歸納為多個關節結點的動作組合,以右手揮手為例,當右手從后向前揮手時,可視為右手結點位置高于右肩及右肘位置,且右手位置有從后向前的變化,采用特征提取可以認為,當RH.position.y>RE.position.y>RH.position.y時,右手舉起,且隨著時間推移RH.position.z1(揮手前右手坐標深度)>RH.position.z2(揮手后右手坐標深度),此時可以認定為右手揮手的動態動作完成。由此為基礎可以進行基于Kinect的動態動作識別。

2 游戲控制系統實現

根據動作識別方法,本文采用Unity結合Kinect進行游戲控制系統的研究與實現。Unity是一款集二維游戲、三維游戲、虛擬現實開發功能為一體的專業游戲引擎,是目前游戲行業內非常流行的一款軟件。由于其對于物理系統、UI系統、地形系統等優秀的封裝,以及對包括PC端、PlayStation、IOS、等多平臺支持,以及對目前虛擬現實插件的兼容性而廣受專業開發者好評。采用Unity結合Kinect開發的游戲控制系統可以有效的支持多平臺研發。

為了游戲控制系統實現,首先進行Unity與Kinect連接環境配置。需要安裝Kinect SDK以使Unity能正確識別Kinect,然后導入kinectWrapper.unitypackage并在Unity中打開,此時可以開始進行游戲控制系統實現。打開工程文件可以發現其中存在多個腳本,DisplayDepth可以識別深度圖像,SkeletonWrapper可以獲取骨骼結點的數據等,Kinect KinectModelControllerV2腳本需要將其拖放到你需要應用kinect控制的模型上。為了使模型可以與操作人員的動作同步,要將模型上與模型動作相關聯的關鍵骨骼拖放到這個腳本現實出來的的相匹配的變量中,即模型中的骨骼與Kincet識別到的人的骨骼結點進行綁定。這個腳本現實的變量中,有變量用來標識模型是受哪個人物控制,因此可以將需要控制的模型拖入此變量內使用。之后可以發現在Unity中已經可以看到對于連接Kinect后可識別的多個骨骼結點,如圖2。

最后,對于關鍵游戲控制系統的實現使用KinectPointController腳本進行編寫。

打開KinectPointController腳本,可以發現在腳本中存在20個骨骼結點的GameObject,如圖3。采用動作識別方法進行代碼編寫,以右手揮動為例聲明動作識別方法public void RightHandWave();在方法中識別肘結點和肩部結點的相對位置,if(Elbow_Right.transform.position.y>Shoulder_Right.transform.position.y)則認為有肘結點位置高于右肩結點位置,此時認為舉手動作完成。然后識別揮手動作,判定右手位置隨時間改變的Z軸坐標。首先記錄原始坐標former,和隨時間改變的動態右手坐標now,并進行變量賦值former = now,now = Hand_Right.transform.position.z。根據特征提取方法,右手揮手可以視為右手結點z坐標深度隨時間改變而變大,因此if (former < now)可以認為揮動動作完成。為了防止人員在操作時出現抖動導致識別失敗,需要編寫防抖動代碼,即if(former - now<0.05)認為人員只是無意識抖動手臂而執行非揮手動作。在人員執行揮手動作時,需要識別揮手動作的快慢,因此添加時間變量來進行識別,分別記錄揮手動作的起始時間TS和TE終止時間,并記錄起始位置PS和PE并計算相對位移D,即可采用公式F=D/(TE-TS)進行力量大小F的識別。完成識別后,進行數據反饋return F即可將數據返回到方法中進行游戲的控制。以此為基礎,編寫游戲控制代碼方法RightHandWave、LeftHandWave、RightFootUp、LeftFootUp等動作識別方法。

在Unity中創建場景,并將制作好的任務模型放入場景中創建游戲人物。創建Animator Controller,在其中使用動畫片段制作任務動作樹,并放置入游戲人物中,編寫代碼繼承RightHandWave、LeftHandWave、RightFootUp、LeftFootUp方法,編寫代碼使人物進行投籃動作if(F>0){ this.transform.GetComponent().wave=true},即可看到人物執行投籃動作,可以知道游戲控制系統制作正確。以此為基礎可以進行各種游戲控系統的設計及研究。

3 結論

本文通過基于Kinect的動作識別方法,集成Unity的關鍵技術,采用特征提取手段,最終完成游戲控制系統的研究與實現。該系統可以有效識別人物的基礎動作,包括舉手、揮手、抬腳、踢腿等動作,以此作為基礎控制Unity中的游戲人物進行各種操作。此游戲控制系統將所有可識別的動作編寫成方法并進行封裝,具有一定的重用性和靈活性,可以為其他開發人員提供一定的參考和幫助,并減少了重復開發的工作開銷,具有一定的實踐價值。同時,本系統也并不完善,對于更加細致的動作和組合動作不能較好的識別,今后也將繼續研究,強化動作識別和游戲系統的結合,完成更加精細的游戲控制系統。

猜你喜歡
游戲
做游戲
夜間游戲
游戲
送信游戲
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
第八章 直接逃出游戲
小學科學(2015年6期)2015-07-01 14:30:14
游戲五計算
主站蜘蛛池模板: 久久精品中文字幕免费| 久久人人爽人人爽人人片aV东京热 | 中文字幕无码av专区久久| 欧美伦理一区| 国产欧美在线| 久久久久国色AV免费观看性色| 色欲不卡无码一区二区| 人妻出轨无码中文一区二区| 国产精品视频3p| 欧美精品1区| 久久人搡人人玩人妻精品| 六月婷婷激情综合| 欧美国产日韩另类| 欧美中文字幕在线视频| 青青青伊人色综合久久| 新SSS无码手机在线观看| 国产在线专区| 国产高清国内精品福利| 日韩国产欧美精品在线| 婷婷色丁香综合激情| 久久综合九九亚洲一区| 人人看人人鲁狠狠高清| 青青青草国产| 亚洲AⅤ永久无码精品毛片| 97国产成人无码精品久久久| 久久国产精品国产自线拍| 欧美国产日产一区二区| 91久久精品日日躁夜夜躁欧美| 免费一级毛片| 玖玖免费视频在线观看| 永久免费AⅤ无码网站在线观看| 玖玖精品视频在线观看| 国产精品999在线| 人妻中文久热无码丝袜| 日韩精品专区免费无码aⅴ| 国产91蝌蚪窝| 国产99欧美精品久久精品久久| 欧美另类第一页| 欧美精品亚洲精品日韩专区va| 久久久久国产精品免费免费不卡| 91国内在线观看| 中文精品久久久久国产网址| 毛片网站在线看| www.亚洲天堂| 亚洲a级在线观看| 久久综合色88| 九色视频线上播放| 久久精品人妻中文系列| 国产在线麻豆波多野结衣| 人妻丝袜无码视频| 成人免费午间影院在线观看| 四虎国产精品永久一区| 国产极品粉嫩小泬免费看| 国产微拍精品| 国产成人亚洲精品色欲AV| 国产激情无码一区二区三区免费| 九九九九热精品视频| 粉嫩国产白浆在线观看| 伊人久久大线影院首页| 老司机午夜精品视频你懂的| 精品国产三级在线观看| 97se亚洲综合| 在线中文字幕日韩| 再看日本中文字幕在线观看| 71pao成人国产永久免费视频| 国产亚卅精品无码| 色婷婷色丁香| 欧美日韩国产精品va| 91探花国产综合在线精品| 成人中文字幕在线| 黄色国产在线| 黄色片中文字幕| AV熟女乱| 国产精品v欧美| 青青草原国产免费av观看| AV熟女乱| 日韩欧美视频第一区在线观看| 亚洲天堂久久| 国产精品人莉莉成在线播放| 五月丁香在线视频| 99无码中文字幕视频| 日韩二区三区无|