public static RendererMaterialSwap Swap(Renderer renderer, Material material, float dur)
 {
     if (renderer == null) throw new System.ArgumentNullException("renderer");
     if (material == null) throw new System.ArgumentNullException("material");
     var swap = renderer.AddOrGetComponent<RendererMaterialSwap>();
     swap._renderer = renderer;
     swap.StartSwap(material, dur);
     return swap;
 }