0

这是基本问题。我很难设置相机而不是如何设置它,而是我应该将它设置为什么值。是否有任何应用程序可以像您设置它一样帮助设置camra,它为您提供值,或者您可以解释这些值代表什么以及它们如何缩放。

D3DXMatrixLookAtLH(&matView,
    &D3DXVECTOR3 (value, value, value),    // the camera position
    &D3DXVECTOR3 (value, value, value),      // the look-at position
    &D3DXVECTOR3 (value, value, value));
4

1 回答 1

1

D3DXMatrixLookAtLH函数正在生成一个相机矩阵,该矩阵存储在您的matView. 之后,该函数得到三个向量:

  • 位置
  • 看着
  • 向上

这三个向量代表:

  • 你的相机的位置 - 你的相机在哪里。例如,它可能是 (0,0,0)。(这些是你在世界上的 x、y 和 z 坐标。)
  • 观察点 - 这是您的相机观察的地方。它由您的位置 + 您的(通常)标准化视图方向组成。因此,当您站在 (0,0,0) 并想要向下看负 z 轴时,您的观察点是 (0,0,-1)。如果你站在 (1,2,3) 并向下看负 x 轴,它是 (0,2,3)
  • 向上向量指向上方 - 通常是 (0,1,0)。

如果您现在四处走动,而不环顾四周,则位置和观察向量会发生变化以反映您的新位置。如果你站着不动,环顾四周,只有观察点会发生变化。仅当您转动相机时,向上矢量才会发生变化。

那里有很多不错的相机教程,向您展示如何在使用相机环顾四周时更改这三个矢量 - 例如这个

于 2010-11-10T16:56:58.757 回答