目录
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;
}



