在做Unity游戲開發過程中,最讓游戲開發人員頭疼的問題就是各種各樣的bug了。它不僅會拖慢整個團隊的開發進度,還容易讓開發人員鉆進牛角尖中去。所以如何高效的解決開發過程中出現的各種bug,是Unity游戲開發人員的必備技能。今天千鋒講師就分享下解決bug的方法。
一般情況,bug都是由人為設計考慮不完善或者手誤導致的,只要定位了bug原理,解決起來并不困難,不過,在解決后,還要多做一步驗證,就是把解決問題的代碼恢復成bug時的狀態,再看一下bug是否又再次出現。如果bug定位準確率90%,通過這樣一個反復的過程,可以把故障解決率提升到99%,這看起來有點啰嗦,但是在一個復雜的系統開發中,是可以總體提升很多效率的。
這里還有一個非常管用的具體操作方法,我管它叫一頁紙方法。就是先召集所有相關的工程師,討論可能引起bug的功能區域,把這些需要驗證的功能區列出來,再在第二列上寫出驗證的具體步驟,每驗證完一個功能,就畫上對勾,這樣都驗證完就可以在一頁紙上一覽全局,非常利于快速定位問題。
用Unity來舉例,常用的方法無非是以下幾種:斷點單步調試,打日志觀察數據變化,在屏幕上繪制ui顯示,還有調整timescale等等,大原則就是把程序的運行進行可視化,可以穩定觀察,才能解決問題,絕對不能靠瞎蒙的方式,胡亂寫新代碼掩蓋bug,會給整個工程帶來災難。
最后,總結一下,我覺得在實戰中,解決問題最最關鍵的是靠方法,可以在動手前,把各種想測試的方法也寫在紙上,每測試完一個就劃掉,直到遇到對的方法和結論。
如果你是零基礎的學員,想來學習Unity游戲開發技術,可以來千鋒教育Unity游戲開發培訓班免費試聽兩周。千鋒Unity游戲開發培訓課程深入教學的圖形技術,講解包括OpenGL渲染管線,著色器,高光計算、菲尼爾色散、霧方程式等高階課程。