Win10 Position

Windows10 DirectX3D でモデルの位置とサイズを設定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

カラーキューブのサイズ

  1. Windows Store 以前(DirectX9 など)では World Matrix や Local Matrix を使ってモデルの描画環境を設定していました。
    World Matrix を使うと、モデルのサイズや位置や回転情報を簡単に設定することが出来ました。
    ところが探し方が悪いのか DirectX Store では World Matrix などが見つかりません。 (^_^;)
    そこで m_constantBufferData.view を利用してモデルの位置とサイズを設定してみます。
  2. Visual Studio 2015 を起動して Win10 Template から DirectX 11 アプリ(ユニバーサル Windows) を構築して下さい。
    コンパイル&実行するとカラーキューブがY軸を中心に回転しながら描画されます。
  3. モデルの描画サイズは eye で調整します。
    eye はカメラの座標(位置)で、カメラを引くとモデルが小さく描画されます。
    Sample3DSceneRenderer.cpp の eye のZ座標を 1.5f から 10.0f に修正します。
    【修正前】
    	// 視点は (0,0.7,1.5) の位置にあり、y 軸に沿って上方向のポイント (0,-0.1,0) を見ています。
    	static const XMVECTORF32 eye = { 0.0f, 0.7f, 1.5f, 0.0f };
    	static const XMVECTORF32 at = { 0.0f, -0.1f, 0.0f, 0.0f };
    	static const XMVECTORF32 up = { 0.0f, 1.0f, 0.0f, 0.0f };
    
    【修正後】
        static const XMVECTORF32 eye = { 0.0f, 0.7f, 10.0f, 0.0f };
    
  4. カラーキューブが小さく描画されることを確認してください。

カラーキューブの位置

  1. モデルの描画位置を左斜め上に設定します。
    eye はカメラの座標(位置)で、at はカメラの向きです。
    モデルを移動する代わりに、カメラを移動します。
  2. X座標を +3.0、 Y座標を -2.0 移動してみます。
    X座標が大きくなる方向は左で、Y座標が大きくなる方向は下です。
        static const XMVECTORF32 eye = { 3.0f, -1.3f, 10.0f, 0.0f };
        static const XMVECTORF32 at = { 3.0f, -2.1f, 0.0f, 0.0f };
    
  3. カラーキューブが左斜め上に描画されることを確認してください。
    Shoot では、カラーキューブを弾丸に見立てて発射しています。

超初心者のプログラム入門(DirectX Store)