Unity开发bug记录100例子(第1例)——打包后shader失效或者bug

Posted 爱上游戏开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity开发bug记录100例子(第1例)——打包后shader失效或者bug相关的知识,希望对你有一定的参考价值。

bug描述

最近遇到一个bug,项目中用shader实现文字边框描边,在unity中好好的,但是打包出来,描边消失了,纳尼???消失就算了,还出现了许多不明出处的XXX。一打开日志发现:ArgumentNullException: Value cannot be null. Parameter name: shader

bug查找

然后疯狂百度。。。无果,于是尝试着找问题。
在unity中,白色字添加黑色边框,显示效果如下:

打包运行如下:

bug分析

推测出是打包造成的shader不正常,于是百度:打包shader出bug。果不其然,找到了。
原来是在Unity中,Shader是从代码中进行加载的,编辑器中并没有引用。在编辑器中运行项目没有问题,但当项目发布到移动平台,如iosandroid、UWP之后,游戏中并不能找到对应的shader。因为Shader在场景中并未被引用,所以没有被打包。

以上是关于Unity开发bug记录100例子(第1例)——打包后shader失效或者bug的主要内容,如果未能解决你的问题,请参考以下文章

Unity开发bug记录100例子(第3例)——倒计时初始值默认显示不正确

Unity开发bug记录100例子(第1例)——打包后shader失效或者bug

Unity开发bug记录100例子(第1例)——打包后shader失效或者bug

Unity开发bug记录100例子(第1例)——打包后shader失效或者bug

Unity开发bug记录100例子(第2例)——UI移动重影问题

Unity开发bug记录100例子(第2例)——UI移动重影问题