最近在玩Kinect,使用的是Unity,發現網上好像沒有什么教程。自己就只有抱着英文版幫助文檔啃,真是苦逼
本人英語也不好,大家將就着看吧
Kinect入門幫助
如何運行示例
1 下載並安裝Kinect v2 SDK,詳情將在下一節中描述。
2 打開場景“KinectAvatarsDemo”,位於Assets/AvatarsDemo文件夾
3 運行場景。移動身體來觀察兩個Avatar(正常和鏡像)以及CubeMan是如何反映你的動作的
4 使用你的左右手來控制屏幕上的手型光標。
5 嘗試多個內置的手勢,並確保他們能被正確的檢測到。
6 關閉場景,將KinectManager的屬性 ‘Compute User Map’ 和 ‘Display User Map’置為可用狀態,重新開啟場景
7 打開並運行“KinectGesturesDemo”場景,位於/ GesturesDemo文件夾。使用手向左或者向右揮表示將立方體向左或者向右轉動。
8 打開並運行“KinectInteractionDemo”場景,位於/ InteractionDemo文件夾。試着用手去抓住並拖拽一個屏幕上的物體,再釋放這個物體。
安裝Kinect v2 SDK
1 下載Kinect為Windows SDK 2.0。
2 運行安裝程序。
3 連接Kinect v2傳感器。所需的驅動程序將會自動安裝。
為什么場景中需要兩個Avatar對象?
場景中兩個阿凡達的意義在於你可以同時展示你的鏡像和非鏡像運動。
首先,你能有一個Avatar反映你的鏡像運動。在這個例子中就是你正面臨的那個。這個Avatar的父物體是一個被名為'UCharCtrlFront'在Y軸上旋轉了180°的空物體。同時,Avatar的游戲物體CharacterFront’上的AvatarController組件的'Mirrored Movement'參數處於可用狀態。鏡像就是你伸左手時他伸的右手,就像照鏡子一樣。
第二個阿Avatar不是鏡像,他是背對着你的。和你的動作完全一樣。你的左邊同時也是他的左邊。換種方式看,你是背對着場景的主相機。控制的對象是'UCharCtrlBack',他的Y軸旋轉量為0,AvatarController的'Mirrored Movement'參數是禁用狀態。
為了在場景中得到正確的Avatar的位置和運動,總是創建一個空的游戲對象作為Avatar的父物體。根據需要設置這個空物體的Y軸旋轉量。然后將Avatar局部的position和rotation都置為0,你就可以通過移動和旋轉來控制你的avatar的運動了。記得注意你Avatar上AvatarController組件的'Mirrored Movement'參數。
如何重用Kinect-Example在你的項目里
1 復制文件夾的KinectScripts資料文件夾的項目的資料文件夾的例子。這個文件夾包含所有需要的腳本和可選的過濾器。
2 復制文件夾“Resources”和“Standard Assets’’文件夾的項目的資料文件夾的例子。這些文件夾包含所需的庫,包裝類和資源。
3 等待Unity檢測和編譯新的資源和腳本。
4 添加“AvatarController”腳本到場景中的每個你需要控制的Avatar上
5 通過拖拽將Avatar的骨骼結點和AvatarController’腳本上的joint相對應(2.8以上版本似乎不需要)
5 看你是否需要鏡像Avatar,如果需要,勾選‘Mirrored Movement’參數
6 添加KinectManager腳本到MainCamera。如果您使用多台攝像機,就創建一個空物體
7 將所有Avatar的物體拖拽到KinectManager的‘Avatar Controllers’列表中(2.8以上版本似乎也不需要)
8 如果你要看深度圖像,你可以開啟‘Compute User Map’ 和 ‘Display User Map’參數;如果你想看色彩圖像,開啟‘Compute Color Map’ 和 ‘Display Color Map’參數;看骨骼追蹤效果可以開啟‘Display Skeleton Lines’參數
使計算用戶地圖和地圖顯示用戶的參數,如果你想看到user-depth地圖在屏幕上。使“計算彩色地圖”和“顯示彩色地圖”參數,如果你想看彩色攝像機圖像在屏幕上。使顯示骨架線的參數,如果你想看看Kinect跟蹤user-depth地圖上的骨架。
9 你可以在你的腳本中使用“KinectManager”的公有方法。作為示例,請參閱“GestureListener.cs”和“PresentationScript.cs