[ContentProcessor]
    public class MyProcessor : AnimatedModelProcessor
    {
        protected override void ReplaceBasicEffect(SkinningType skinningType,
            Microsoft.Xna.Framework.Content.Pipeline.Processors.ModelMeshPartContent meshPart)
        {
        }
     }
    // Make sure we don't replace the basic effect on unskinned models
    // This check should almost always be optional.
    if (skinningType != SkinningType.None)
    {
        // The absolute file path of your effect
        string myEffectPath = _absolute file path of your effect_;


        // Create the effect material content
        EffectMaterialContent myEffectContent = new EffectMaterialContent();
        myEffectContent.Effect = new ExternalReference<EffectContent>(myEffectPath);
        MaterialProcessor processor = new MaterialProcessor();

        // Process the material so that it is using a compiled effect
        processor.Process(myEffectContent, base.ProcessorContext);

        // The textures have already been processed for you.  If you want to change how they
        // are processed you can override the ConvertMaterial method provided in XNA
        TextureReferenceDictionary textureDict = meshPart.Material.Textures;
        foreach (string key in textureDict.Keys)
        {
            myEffectContent.Textures.Add("BasicTexture", textureDict[key]);
            break;
        }
        meshPart.Material = myEffectContent;
    }
    // Add this to the LoadGraphicsContent method
    foreach (ModelMesh mesh in model.Meshes)
    {
        for (int i = 0; i < mesh.MeshParts.Count; i++)
        {
            ModelMeshPart part = mesh.MeshParts[i];
            part.Effect.Parameters["View"].SetValue(view);
            part.Effect.Parameters["Projection"].SetValue(projection);
        }
    }