我正在學習使用kinect(使用C++)時D3D和座標空間。雖然我可以使用Direct2D輕鬆繪製骨架位置,但我很好奇如何使用direct3D 11繪製這些位置以及我需要的座標空間轉換。使用D3D繪製骨架數據:座標空間轉換
一個簡單的例子:我想根據左手的運動來翻譯一個立方體。跟蹤左手關節,我可以得到骨骼位置。但是,如何將這些位置轉換爲立方體的世界空間所能理解的東西?
我試圖做一個解決方案:使用SkeletonToDepth轉換
- 轉換骨架的位置深度 - 讓我在屏幕空間效果。
- 使用
XMVector3UnProject(...)
, 將屏幕空間點映射回對象空間,即基本上是射線拾取解決方案。
雖然這很好,還有沒有一種更有效的方式,不需要映射回對象空間,並且允許我直接在屏幕空間或至少投影空間中工作?
如果還沒有,請查看Kinect for Windows Toolkit中的D3D示例。有一個涉及avataring,這可能讓你洞察到映射。我沒有處理這些例子,所以我不確定他們是否會完全符合你的要求。 – 2013-03-16 14:19:53
感謝邪惡壁櫥猴子。我看了一下Avateering的演示。我不完全理解它,主要是因爲我沒有C#的經驗。雖然我理解程序代碼的一般流程(什麼程序稱爲什麼),但我還是無法確定從骨架空間到模型的特定轉換。我會繼續閱讀,看看我能找到什麼。還有什麼建議? – Nikky 2013-03-18 00:51:32