昨晚遇到两个BUG,耽误了一些时间,现在把这两个BUG记录下。
1.编辑器模式运行没问题的情况下,发布打包exe,场景切换的时候切不过去。
发布Debug模式,查看有没有报错,发现有对象为空,而且是持续显示很多行。打开日志文件,发现问题出在材质赋值的地方。
颜色不会导致对象空,那就肯定是材质空了,找到材质开始赋值的地方,发现是通过shader.Find查找shader生成的材质,猜测是没有找到对应的shader,想起之前确实有同事遇到过类似的问题。于是直接新建了一个类似效果的材质,OK了。
2.再次打包,切换到下一个场景的时候,开始的几秒画面一直忽明忽暗,伴随着卡顿,Debug发现渐入的FadeIn函数反复进入。
正常来讲,该Debug语句应该只执行一次才对,因为只在OnEnable函数里执行了。却在切换场景后被反复执行。尝试修改了几次,甚至把下一个场景的渐入渐出脚本删除,也还是会进Debug。
后来尝试将上图中的LoadSceneAsync改为LoadScene,终于正常了。没想到异步加载场景的时候如果伴随有协程居然还会出现这样BUG,看起来是协程被反复执行了几次。