このライブラリはあなたが独自に開発したエフェクトを使用し、法線マップ、ライティングアルゴリズム、バンプマップ、またはその他のどんなエフェクトでもアニメーションモデルに適用することができます。
エフェクトのコーディング
○最初のステップはあなたが使いたいカスタムエフェクトを作成します。ここでいくつか制限事項があります。
●メッシュが非スキニングの場合、エフェクトのパラメータに "Matrix World;" を持っておかなければなりません。
●メッシュがスキニングの場合、エフェクトのパラメータに "Matrix World;" と "float4x4 MatrixPalette[ palette size constant ];" の両方を持っておかなければなりません。
○プロジェクトに新しいテキストファイルを追加し、名前を "MyPaletteEffect.fx" として下さい。
○
エフェクトのソースコードを書きます。
エフェクトの使用
○カスタムエフェクトを使用する方法は3つあります。
○最初に次のブロックを削除して下さい。
// Remove this from LoadGraphicsContent
foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicPaletteEffect effect in mesh.Effects)
{
effect.View = view;
effect.Projection = projection;
}
}
// Remove this code from Update if applicable
foreach (ModelMesh mesh in dwarfAnimator.Model.Meshes)
foreach (BasicPaletteEffect effect in mesh.Effects)
effect.View = view;
foreach (ModelMesh mesh in ground.Model.Meshes)
foreach (BasicEffect effect in mesh.Effects)
effect.View = view;
// Add this code to Update
foreach (ModelMesh mesh in dwarfAnimator.Model.Meshes)
foreach (Effect effect in mesh.Effects)
effect.Parameters["View"].SetValue(view);
foreach (ModelMesh mesh in ground.Model.Meshes)
foreach (Effect effect in mesh.Effects)
effect.Parameters["View"].SetValue(view);
最終更新:2009年06月21日 12:53