0

これは基本的な質問です。カメラを設定する方法ではなく、どの値に設定する必要があるかを設定するのに苦労しています。あなたが設定したようにカムラを設定するのに役立つアプリはありますか、それはあなたに値を与えますか、または値が何を表し、どのようにスケーリングされるかを説明できますか.

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。その後、関数は3つのベクトルを取得します。

  • ポジション
  • 見る

これらの3つのベクトルは次の略です。

  • カメラの位置-カメラがある場所。たとえば、(0,0,0)のようになります。(これらは、世界のx、y、z座標です。)
  • ルックアットポイント-これは、カメラが見る場所です。それはあなたの位置+あなたの(通常)正規化された視線方向で構成されます。したがって、(0,0,0)に立って、負のz軸を見下ろしたい場合、ルックアットポイントは(0,0、-1)になります。(1,2,3)に立って、負のx軸​​を見下ろすと、(0,2,3)になります。
  • アップベクトルは上を指します-通常、これは(0,1,0)です。

今、周りを見ずに動き回ると、位置とルックアットベクトルが新しい位置を反映して変化します。じっと立って周りを見回すと、見ているところだけが変わります。アップベクトルは、カメラを回転させた場合にのみ変化します。

カメラで見回すときにこれらの3つのベクトルを変更する方法を示す、すばらしいカメラチュートリアルがたくさんあります。たとえば、このチュートリアルです。

于 2010-11-10T16:56:58.757 に答える