Kinect結合Unity3D引擎開發體感遊戲(二) 頂 原 薦

       這篇接着《Kinect結合Unity3D引擎開發體感遊戲(一)》,時隔3個月纔出這篇,在此期間還有不少機油們,要求出續集,期間在公司那邊事情太多,一直幫公司前人做的項目擦屁股,到目前爲止,完成了差不多,累啊,相信大家都有體會,做前人留項目,基本上坑爹情況多。費了這麼多話,給乾貨了!

       接着上一篇寫一個3D人物模型,隨着身體指示,產生轉身和前進與跑步。

      就像我上一篇所說的,目前做體感交互中間件有3中方法:

      1.卡耐基梅隆kinectWrapper.unitypackage;

      2.OpenNI官方提供的OpenNI_Unity_Toolkit-0.9.7.4.unitypackage(現在官方不提供更新與支持了,支持的版本unity3.4,在往上版本會出現很多問題,需要修改很多地方,比較麻煩);

      3.自己寫的交互的中間件,我在網上看見高手自己的寫的中間件,封裝爲DLL,現在通過這段時間動手實現,發現自己寫一個這樣的中間件其實也不難,後期也自己準備寫一個。

      第一篇,我是基於卡耐基梅隆kinectWrapper.unitypackage中間件,利用上面的自帶例子,經過自己的摸索終於成功了,可以看Kinect結合Unity3D引擎開發體感遊戲(一),現在大部分用卡耐基梅隆和OpenNI來作爲unity與kinect交互,還一種就是自己封裝交互組件,經過這段時間研究後,自己封裝了一個dll,大概實現的功能:kinect攝像頭角度設置,RGB流,Depth流,玩家位數綁定,骨骼數據獲取等!後期計劃把鼠標加進去,骨骼綁定功能進一步優化,想利用這個dll組件實現3D試衣鏡這樣的虛擬場景,不僅包括體感遊戲!最終可以滿足絕大部分的開發情況!

     卡耐基梅隆和OpenNI現在基本上對於高於Kinect1.7和Unity3D4.0支持不是很好,特別是openni官網都沒有支持更新了,對於高版本支持更是不好,卡耐基梅隆還是稍微好點,不缺配置也比較麻煩,還需要修改裏面的代碼!對於不太熟悉kinect同學們更是不好上手!自己封裝組件,不斷傻瓜化了,更是知根知底!當然不是說自己是什麼高手,只要把原理清楚了,大家寫一個也不是什麼問題!

     好了,簡單交代一下我開發環境:win8 + KinectSDK1.7 + Unity4.3.1(最新版本)哥熬了一個通宵破解了,想了解我這個例子的前提同學們必須對Unity3D比較熟悉,可以建立場景以及人物!對c#也要有了解。

上圖爲利用unity3D建立簡單的人物場景!上述的場景都是基於unity自帶的素材建立的。

      接下來該寫人物事件驅動,大概的功能就是向前、向左、向右、向後走動。代碼如下

然後將上面的setHeroState添加到Updata函數後,然後將腳本綁定到人物模型即可。

這篇就不講解自己封裝的組件dll,也不是這一篇就能講清楚的,後續的文章中會慢慢剖析講解!

下面就上圖給大家看看體感控制效果截圖:

上圖中包含RBG流 、Depth流以及手勢控制人物正在前行行走!也歡迎大家期待第三篇,會給大家展示一款較爲成熟的體感作品!  再次感謝OSC各位基友的鼓勵!謝謝大家!


聲明:這篇代碼量也不大,主要目前我也是在摸索階段,unity工程量也大,不好把整個貼上來!後期代碼量會逐步加大幹貨,並且包括視頻鏈接地址!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章