Microsoft DirectX 8.0 (Visual Basic)

D3DXSkinMesh

アプリケーションは、D3DXSkinMesh クラスのメソッドを使用してスキン メッシュ オブジェクトを操作する。

D3DXSkinMesh クラスは、次のいずれかのメソッドを呼び出すことにより取得する。

Microsoft® DirectX® (.x) ファイル データ オブジェクトからスキン メッシュをロードするには、D3DX8.LoadSkinMeshFromXof メソッドを使用する。

スキニングは、メッシュの異なる複数の頂点を複数のトランスフォーム行列によりトランスフォームするテクニックであり、個々の行列で頂点をトランスフォームした結果をブレンドし、最終的なトランスフォームされた頂点を取得する。

このプロセスは一般にスキニングと呼ばれ、ボーンのスケルトンのアニメーションに基づいて、キャラクタのスキンを定義するメッシュを変形させるために使用される。厳密なアニメーションの最も単純なケースでは、キャラクタ メッシュの異なる複数のパーツをスケルトンの一意な 1 個のボーンに関連付け、そのボーンのトランスフォームを使用して頂点をトランスフォームする。

スキニングを説明するうえで役に立つ用語の意味を次に示す。

スキニングされたキャラクタは、メッシュのセットと、メッシュの頂点に影響を与えるボーンのセットによって定義される。ボーンはトランスフォーム階層として表現される。メッシュごとに、そのメッシュに影響を与えるすべてのボーンに適用する行列があり、その行列によってメッシュがボーンのローカル座標空間にトランスフォームされる。この行列は、メッシュのボーンのボーン空間トランスフォームである。この行列は、オーサリング プロセスでスケルトンをメッシュに関連付けるときに定義される。

D3DXSkinMesh クラスのメソッドは、以下のグループにまとめることができる。

バッファ GetIndexBuffer
  GetVertexBuffer
変換 ConvertToBlendedMesh
  ConvertToIndexedBlendedMesh
情報 GetBoneInfluence
  GetDevice
GetMaxFaceInfluences
GetMaxVertexInfluences
GetNumBoneInfluences
GetNumBones
ロック LockAttributeBuffer
  LockIndexBuffer
LockVertexBuffer
UnlockAttributeBuffer
UnlockIndexBuffer
UnlockVertexBuffer
その他 GenerateSkinnedMesh
  GetOriginalMesh
SetBoneInfluence
UpdateSkinnedMesh