昨天在用Unity開發遊戲時,遇到了一個離奇恐怖的Bug,排查了幾個小時,期間經歷了慘絕人寰的過程:
無數次啓動和關閉Unity,控制變量法排查。
關機了好幾次電腦。
把電腦主機拆開給顯卡清了清灰。
刪了Unity再重裝。
終於!把這個問題解決了!但……問題的根源,壓根不是我上面列出的任何一種!!!!
我敲你麻麻的!
先說結論 :是火絨的彈窗攔截乾的好事
事情是這樣的:昨天下午,我在做視頻,用來介紹我自己遊戲最近的大更新,要打開我項目錄制些素材。在當我打開Unity項目後,我突然發現,不太對勁!
Unity的項目啓動窗口,在項目打開後,怎麼沒有關閉?
可以看到,項目已經打開,但啓動窗口還卡着沒有消失
這可把我嚇到了,在我幾年的開發生涯中,就沒有遇到過這種問題!
我稍微實驗了下,在這種情況下:
Unity編輯器內是可以正常運作的,可以編輯物體、移動物體等。
代碼可以正常編譯。
遊戲可以正常運行。
貌似唯二的壞處是:
後臺會佔用更高的計算資源,整個CPU的溫度比以往高。
關閉Unity後,啓動界面仍然存在,資源管理器中仍然有Unity運行。
好像這也就是個不痛不癢的Bug?
不!!作爲一個強迫症,我絕不允許出現這種應用佔着茅坑不拉屎的情況!
我開始問Deepseek,它給了我幾種情況:
說可能是顯卡的問題
啥玩意?不會吧,我纔買半年的顯卡,難道已經出問題啦?把我慌的,把主機拆開來,給顯卡清了清灰,還把兩根內存條給正了正位置。裝上主機一看,問題還是沒解決……
說可能是第三方軟件衝突
這個我覺得最有可能,因爲當時正在開着OBS錄視頻。想着:一定是這個軟件!因爲我以前很少讓Unity和OBS同時開着,所以它最可疑!結果關了OBS後,依然沒用……
說可能要重裝Unity
行,都試遍了,只能重裝Unity了。結果……還是沒用!瘋了瘋了!
幾個小時過去,查遍了網絡,徒勞無果,萬念俱灰。Unity裏面可有我做了4個月的2個項目啊!我特麼還已經把這兩個項目在Steam開放了界面,結果你告訴我這2個項目做不下去啦?其實倒也不至於做不下去,這Bug不至於把Unity幹奔潰。但這就像,你睡覺時,在腦瓜子下面夾個手機。也不是不能睡,就是睡不安穩!當時想換Godot的心情都有了。
峯迴路轉,Deepseek這一條建議給了我靈感。
我一想,我電腦有個火絨呀!但也不對,火絨和Unity這兩軟件在我電腦裏和平共處了這麼久,不應該是火絨的問題吧?不管了,死馬當活馬醫!當即關閉了後臺的火絨,重新啓動Unity。
哦吼,我被啪啪打臉了!
Unity項目完全正常了!
這BYD的火絨!
後續經過我的繼續調查,其實也不是火絨的問題,而是火絨裏的子程序:彈窗攔截,這玩意搞的鬼!
罪魁禍首
但彈窗攔截這程序的界面太簡潔了,導致我翻遍了這程序,都沒找到爲什麼它導致了Bug。因爲可以看到圖中,它並沒有開啓對Unity的窗口攔截。但事實就是,我打開彈窗攔截程序,Unity就出Bug;關閉彈窗攔截程序,Unity就沒問題。
最終所以我只能猜測:
火絨的彈窗攔截,不知道什麼原因,在沒有設置攔截Unity彈窗的情況下,攔截了Unity彈窗。
火絨彈窗,在昨天下午,肯定悄悄更新了。不然我之前都沒動過,彈窗攔截和Unity兩口子過得好好的。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com