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