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