Unity骚操作:Spine动画打包成AssetBundle资源到安卓平台时,材质丢失的问题解决方案

目录

Spine动画打包成AssetBundle资源到安卓平台时,材质丢失。

如果真的特别需要在u3d编辑器中显示为正常,可以手动在编辑器中的右边Inspector面板重新选择一下材质球的shader或者手动拖这个材质球到 物体的属性面板里面。


Spine动画打包成AssetBundle资源到安卓平台时,材质丢失。

网上的解决方案都是:

解决方法如下:

Edit——>Project Setting——>Graphics  

在Always Included Shaders中 是Unity默认打包的材质球类型 ,将你所用到的材质球类型也添加进去,重新打包。就可以读取到? 这个只能解决(82%的用户)
———————————————— 
真实情况是: u3d编辑器Android平台模式
就算加入了Graphics 强制绑定shader 还是会在u3d编辑器中显示粉色,但是查看物体的属性面板发现材质和shader并没有丢失,是因为[u3d编辑器Android平台模式]中会有显示错误,导出到手机安卓上运行是正常的 材质并没有丢失!!!

如果真的特别需要在u3d编辑器中显示为正常,可以手动在编辑器中的右边Inspector面板重新选择一下材质球的shader或者手动拖这个材质球到 物体的属性面板里面。

附加:代码强制赋值材质球里shader的方法

void Start()
    {

        //AB包的方式------------------------
        AssetBundle ab = AssetBundle.LoadFromFile("Assets/AssetBundles/kkk/jjj");
        Material m = ab.LoadAsset("Doi_Material");
        m.shader = Shader.Find("Spine/Skeleton");
        gameObject.GetComponent().material = m;


        //已经强制绑定了Shader到U3D编辑器的方式----------------
        Material  m= GetComponent();
        m.shader = Shader.Find("Spine/Skeleton");//Find 那个在编辑器模式里面呈现紫色的材质球的shader

        gameObject.GetComponent().material = m;
        
    }

你可能感兴趣的:(Unity,unity,材质,c#)