Unity 材质丢失的问题

从assetbundle加载材质到app中 该材质原来未在app生成的工程中  解决在app加载assetbunlde材质丢失

参考这个帖子 http://www.youkexueyuan.com/exp_show/1187.html

需要将材质文件shader重新关联一下  注意: 如果单单把gameobject创建出来之后 find meshrender的方法直接对上边的材质重新关联shader 发现有些材质还是会丢失  而把assetbunlde文件中的材质文件全部关联一下才能真正起作用  在这个unity的大坑里躺了好几天  mark一下

备注另一个发现 直接把bundle中shader加载一遍 warmupshader 然后把材质全加载出来重新关联shader 

最后从bundle中创建物体 给物体的材质重新赋值 结果粉红色 但是新建一个方块给方块材质赋同一值 方块显示是正常的

解决:将赋值的逻辑延迟一帧执行 结果正常了 猜想是物体从bundle创建出来之后那一帧bundle里有一个强制的错误材质关联 所以无法正常修改材质引用   这个应该也是unity的bug 又一次躺坑

你可能感兴趣的:(unity)