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
游戲五計算
主站蜘蛛池模板: 成人免费一区二区三区| 亚洲午夜福利精品无码不卡| 波多野结衣一级毛片| 精品国产99久久| 亚洲综合色区在线播放2019| 色网站在线视频| 麻豆精品视频在线原创| 精品撒尿视频一区二区三区| 国产情精品嫩草影院88av| 亚洲视频一区在线| 精品91视频| 亚洲av中文无码乱人伦在线r| 女人毛片a级大学毛片免费| 88av在线| 亚洲日韩欧美在线观看| 国产成人精品无码一区二| 美女国产在线| 免费xxxxx在线观看网站| 亚洲女同欧美在线| 欧美 国产 人人视频| 亚洲第七页| 色男人的天堂久久综合| 国产精品.com| 中文字幕欧美成人免费| 亚洲日韩日本中文在线| 欧美亚洲一区二区三区在线| AV无码一区二区三区四区| 最新国产精品鲁鲁免费视频| 99视频精品全国免费品| 日本午夜精品一本在线观看| 视频一区视频二区日韩专区| 日韩欧美中文| 91丝袜乱伦| 亚洲欧洲AV一区二区三区| 亚洲精品成人片在线播放| 福利在线不卡| 人妖无码第一页| 3D动漫精品啪啪一区二区下载| 99久久这里只精品麻豆 | 亚洲精品大秀视频| 国产欧美视频一区二区三区| 久久综合伊人77777| 国产精品成人一区二区不卡| 国产九九精品视频| 亚洲色欲色欲www在线观看| 欧美成人二区| 久久久久青草大香线综合精品| 丁香五月婷婷激情基地| 午夜精品一区二区蜜桃| 国产一级无码不卡视频| 欧美日韩动态图| 黄色三级网站免费| 日韩AV无码免费一二三区| 免费一级毛片不卡在线播放| 免费jjzz在在线播放国产| 韩日午夜在线资源一区二区| 国产高清在线精品一区二区三区 | 亚洲福利视频一区二区| 久久无码av三级| 99热这里只有精品免费| 九色在线视频导航91| 欧美精品在线看| 久青草免费视频| 国产自在线播放| 精品无码人妻一区二区| 69视频国产| 国产手机在线小视频免费观看| 久久9966精品国产免费| 亚洲精选无码久久久| 狠狠色婷婷丁香综合久久韩国| 亚洲国产成人无码AV在线影院L| 久久精品午夜视频| 久久99精品国产麻豆宅宅| 亚洲成人www| 亚洲av无码成人专区| 91久久国产热精品免费| 亚洲视屏在线观看| 女人18一级毛片免费观看| 美女啪啪无遮挡| 91在线无码精品秘九色APP| 国产精品午夜福利麻豆| vvvv98国产成人综合青青|