XNA/Directx Handedness(方向)?

Min*_*Ant 0 directx xna rotation orientation screen-orientation

我正在使用XNA(使用DirectX)进行一些图形编程.我有一个围绕一个点旋转的盒子,但旋转有点奇怪.

一切似乎有人拿了一个指南针并旋转180度,所以N是180,W是90等.

我似乎找不到一个说明方向的来源,所以我可能只是没有使用正确的关键字.

有人可以帮我找到XNA/DirectX的定位,以及一个说明这一点的页面吗?

Nic*_*ter 8

DirectX使用左手坐标系.

XNA 使用右手坐标系.

  • 向前是-Z,向后是+ Z. 转发点进入屏幕.
  • 右边是+ X,左边是-X.右侧指向屏幕右侧.
  • 向上是+ Y,向下是-Y.向上指向屏幕顶部.

矩阵布局如下(在此示例中使用单位矩阵).XNA为其矩阵使用行布局.前三行代表方向.最后一行和前三列([4,1],[4,2]和[4,3])表示平移/位置.这是有关XNA矩阵结构的文档.

在平移矩阵的情况下(平移是位置和旋转组合):

Right     1   0   0   0

Up        0   1   0   0

Forward   0   0   -1   0

Pos       0   0   0   1
Run Code Online (Sandbox Code Playgroud)