在做Unity游戏开发过程中,最让游戏开发人员头疼的问题就是各种各样的bug了。它不仅会拖慢整个团队的开发进度,还容易让开发人员钻进牛角尖中去。所以如何高效的解决开发过程中出现的各种bug,是Unity游戏开发人员的必备技能。今天千锋讲师就分享下解决bug的方法。
一般情况,bug都是由人为设计考虑不完善或者手误导致的,只要定位了bug原理,解决起来并不困难,不过,在解决后,还要多做一步验证,就是把解决问题的代码恢复成bug时的状态,再看一下bug是否又再次出现。如果bug定位准确率90%,通过这样一个反复的过程,可以把故障解决率提升到99%,这看起来有点啰嗦,但是在一个复杂的系统开发中,是可以总体提升很多效率的。
这里还有一个非常管用的具体操作方法,我管它叫一页纸方法。就是先召集所有相关的工程师,讨论可能引起bug的功能区域,把这些需要验证的功能区列出来,再在第二列上写出验证的具体步骤,每验证完一个功能,就画上对勾,这样都验证完就可以在一页纸上一览全局,非常利于快速定位问题。
用Unity来举例,常用的方法无非是以下几种:断点单步调试,打日志观察数据变化,在屏幕上绘制ui显示,还有调整timescale等等,大原则就是把程序的运行进行可视化,可以稳定观察,才能解决问题,绝对不能靠瞎蒙的方式,胡乱写新代码掩盖bug,会给整个工程带来灾难。
最后,总结一下,我觉得在实战中,解决问题最最关键的是靠方法,可以在动手前,把各种想测试的方法也写在纸上,每测试完一个就划掉,直到遇到对的方法和结论。
如果你是零基础的学员,想来学习Unity游戏开发技术,可以来千锋教育Unity游戏开发培训班免费试听两周。千锋Unity游戏开发培训课程深入教学的图形技术,讲解包括OpenGL渲染管线,着色器,高光计算、菲尼尔色散、雾方程式等高阶课程。