kinect (C++) を操作しながら、D3D と座標空間について学んでいます。Direct2D を使用してスケルトンの位置を簡単に描画できますが、direct3D 11 を使用してこれらの位置を描画する方法と、必要な座標空間変換について知りたいです。
簡単な例: 左手の動きに基づいて立方体を移動したいと思います。左手の関節を追跡すると、スケルトンの位置を取得できます。ただし、これらの場所をキューブのワールド空間が理解できるものに変換するにはどうすればよいでしょうか?
私は次のようにして解決策を試みました:
- SkeletonToDepth 変換を使用してスケルトンの位置を深度に変換します - 画面スペースで結果が得られます。
- を使用して、スクリーン スペース ポイントをオブジェクト スペースに戻します
XMVector3UnProject(...)
。つまり、基本的にレイ ピッキング ソリューションです。
これは問題ありませんが、オブジェクト空間へのマッピングを伴わず、スクリーン空間または少なくとも投影空間で直接作業できる、より効率的な方法はありますか?