DirectX 9 настройка камеры - PullRequest
       5

DirectX 9 настройка камеры

0 голосов
/ 05 ноября 2010

это основной вопрос.Я имею двойную настройку камеры не как ее установить, а какие значения я должен установить.Есть ли какое-либо приложение, которое может помочь с настройкой camra, как вы ее установили, и оно дает вам значения, или вы можете объяснить, что означают значения и как они масштабируются.

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

1 Ответ

1 голос
/ 10 ноября 2010

Функция 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).

Если вы сейчас двигаетесь, не оглядываясь, позиция и векторы обзора меняются, отражая вашу новую позицию. Если вы стоите и смотрите по сторонам, меняется только точка наблюдения. Вектор повышения изменяется только при повороте камеры.

Существует множество хороших обучающих программ по камерам, которые показывают, как изменить эти три вектора при просмотре с помощью камеры - например, этот .

...