Microsoft DirectX 8.0 (Visual Basic) |
object.GenerateSkinnedMesh( _ Options As Long, _ MinWeight As Single, _ AdjacencyIn As Any, _ AdjacencyOut As Any) As D3DXMesh
スキニングによって生成されたメッシュを表す D3DXMesh オブジェクトを返す。
失敗した場合はエラーが発生し、Err.Number に D3DERR_INVALIDCALL が設定される。
エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。
このメソッドでは、すべての行列を指定して各ボーンに適用できる。ジオメトリ ブレンディングは GenerateSkinnedMesh が行うため、Direct3D を使用してジオメトリ ブレンディングを実行する必要はない。特に、このメソッドでは頂点ごとにボーンの影響を 4 つ以上使用できる。
このメソッドにより生成されるメッシュは、スケルトン トランスフォームが変更されるたびに、D3DXSkinMesh.UpdateSkinnedMesh に指定する必要があるメッシュである。
このメソッドはスキン アニメーションに役立つ。
次のサンプル コードは、D3DXBuffer オブジェクトを使用して隣接性情報を渡す方法を示している。
Dim Opts As Long Dim MinW As Single Dim D3DXbAdjacencyIn As D3DXBuffer Dim D3DXbAdjacencyOut As Any ' このコードでは、すべての引数が ' 正しく初期化されていると仮定している。 Call D3DX8.ConvertToIndexedBlendedMesh(Opts, MinW, ByVal D3DXbAdjacencyIn.GetBufferPointer, PalSize, D3DXbAdjacencyOut)