Microsoft DirectX 8.0 (C++) |
アプリケーションは、ID3DXSkinMesh インターフェイスのメソッドを使用してスキン メッシュ オブジェクトを操作する。
ID3DXSkinMesh インターフェイスは、次に示す関数のいずれかを呼び出して取得する。
Microsoft® DirectX® (.x) ファイル データ オブジェクトからスキン メッシュをロードするには、D3DXLoadSkinMeshFromXof 関数を使用する。
スキニングは、メッシュの異なる複数の頂点を複数のトランスフォーム行列によりトランスフォームするテクニックであり、個々の行列で頂点をトランスフォームした結果をブレンドし、最終的なトランスフォームされた頂点を取得する。
このプロセスは一般にスキニングと呼ばれ、ボーンのスケルトンのアニメーションに基づいて、キャラクタのスキンを定義するメッシュを変形させるために使用される。厳密なアニメーションの最も単純なケースでは、キャラクタ メッシュの異なる複数のパーツをスケルトンの一意な 1 個のボーンに関連付け、そのボーンのトランスフォームを使用して頂点をトランスフォームする。
スキニングを説明するうえで役に立つ用語の意味を次に示す。
スキニングされたキャラクタは、メッシュのセットと、メッシュの頂点に影響を与えるボーンのセットによって定義される。ボーンはトランスフォーム階層として表現される。メッシュごとに、そのメッシュに影響を与えるすべてのボーンに適用する行列があり、その行列によってメッシュがボーンのローカル座標空間にトランスフォームされる。この行列は、メッシュのボーンのボーン空間トランスフォームである。この行列は、オーサリング プロセスでスケルトンをメッシュに関連付けるときに定義される。
ID3DXSkinMesh インターフェイスのメソッドは、以下のグループにまとめることができる。
ID3DXSkinMesh インターフェイスは、すべての COM インターフェイスと同じように、IUnknown インターフェイスのメソッドを継承している。IUnknown インターフェイスでは、次の 3 つのメソッドがサポートされている。
IUnknown | AddRef |
QueryInterface | |
Release |
LPD3DXSKINMESH 型は、ID3DXSkinMesh インターフェイスへのポインタとして定義されている。
typedef struct ID3DXSkinMesh* LPD3DXSKINMESH;
ヘッダー : D3dx8mesh.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。