You can use your own effects with the animation library, and apply your own normal mapping, lighting algorithms, bump maps, or whatever else you please to animated models.

You can download the tutorial solution here: CustomShader.zip

Setting Up the Project

Creating the Effect

Using the Effect in the Code

    // 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);