>>782
ソースの抜粋。
このままだとDirectInput使用不可。
m_pTiny1の部分を違う場所に移動してやると
なぜか大丈夫なんですよ。
DirectXラッパーは全部COMモジュールなんで
自分のコードミスでクラッシュする余地なんてないんですよ。

m_pTiny0 = new CTiny;
m_pTiny0->Initialize();

m_pTiny1 = new CTiny;
m_pTiny1->Initialize();

hr = ::CoCreateInstance( CLSID_DInputTPS, NULL, CLSCTX_INPROC_SERVER, IID_IDInputTPS, (void**)&m_pDInput);
ATLASSERT(SUCCEEDED(hr));
hr = m_pDInput->Initialize( m_hWnd);
ATLASSERT(SUCCEEDED(hr));

>>783
Directionは、クオータニオン1個です。
Positionは、ベクトル1個、
Scaleもベクトル1個。
これを最終的に合成してトランスフォーム行列を作成する訳です。
でもまあScaleは確かにデータを保持する必要はないですね。
クラスに統一性を持たせたかったんですね。