失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Spine动画打包成AssetBundle资源到安卓平台时 材质丢失的问题解决方案

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

时间:2022-11-03 03:59:41

相关推荐

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

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

网上的解决方案都是:

解决方法如下:

Edit——>Project Setting——>Graphics

在Always Included Shaders中 是Unity默认打包的材质球类型 ,将你所用到的材质球类型也添加进去,重新打包。就可以读取到了

补充:

有的自定义Shader材质,在加入了Graphics 中还是会在编辑器中显示粉色,但是查看物体发现材质和shader并没有丢失,是因为Andoird平台中在编辑器内会有显示错误,导出到手机上运行是正常的!

如果需要在编辑器中显示,可以手动在编辑器中的右边Inspector面板重新选择一下材质的shader。

void Start(){AssetBundle ab = AssetBundle.LoadFromFile("Assets/AssetBundles/kkk/jjj");Material m = ab.LoadAsset<Material>("Doi_Material");m.shader = Shader.Find("Spine/Skeleton");gameObject.GetComponent<MeshRenderer>().material = m;}

或者在代码中,读取AB包中的材质球,给材质球赋值shader,再将材质球赋值给物体。

注意:必须读取AB中的材质球,先赋值shader,再将材质球赋值给物体。否则不生效。直接读取物体的材质球,赋值shader也不生效。

如果觉得《Spine动画打包成AssetBundle资源到安卓平台时 材质丢失的问题解决方案》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。