このソースコードを追加して下さい。
  1. // Add this in the LoadGraphicsContent method AFTER your ModelAnimator has been created
  2. Effect myEffect = content.Load<Effect>("MyPaletteEffect");
  3. foreach (ModelMesh mesh in model.Meshes)
  4. {
  5. for (int i = 0; i < mesh.MeshParts.Count; i++)
  6. {
  7. ModelMeshPart part = mesh.MeshParts[i];
  8. BasicPaletteEffect effect = (BasicPaletteEffect)part.Effect;
  9.  
  10. part.Effect = myEffect.Clone(graphics.GraphicsDevice);
  11. part.Effect.Parameters["BasicTexture"].SetValue(effect.Texture);
  12. part.Effect.Parameters["View"].SetValue(view);
  13. part.Effect.Parameters["Projection"].SetValue(projection);
  14. effect.Dispose();
  15. }
  16. }
  17.  
  18. dwarfAnimator.InitializeEffectParams();
  19.  
重要な行は「dwarfAnimator.InitializeEffectParams();」です。これは ModelAnimator クラスが再作成するために、エフェクトのパラメータへのハンドルに通知します。

最終更新:2008年06月01日 03:32