“Cocos不能兼容iPhone12這個機型嗎?”隨著周老板的話,發(fā)來的還有一段視頻。
視頻里的游戲畫面全部錯亂了,UI被3D部分擋在底下,然后場景上的跑道出現(xiàn)了重疊??吹脚R近上線,還能出現(xiàn)這個問題,真的是讓我的心頭一涼。
此時距離這個項目開始的日子已經(jīng)過去了整整兩個月了,按照最初的合同,預(yù)定是這個項目應(yīng)該在十一月一號就正式上線的。而現(xiàn)在已經(jīng)比我預(yù)期的時間超過了太多太多,而且工作量也是比我的預(yù)期增加了太多太多。
在交付完第一個版本后,周老板那邊就開始了測試,在測試過程中反饋一些Bug這點無可厚非,本來就在我的職責(zé)內(nèi)。但是同時還追加了許多新的需求,這些需求你說它不合理吧也不對,因為按照我的理解來說,這些需求確實是合情合理的,應(yīng)該加上這些東西,或者改成這個樣子,但是累計的數(shù)量多了,導(dǎo)致我的工作量也增多了不少。而且這些需求,也很分散,大概一周提一兩個,這就導(dǎo)致我得時刻關(guān)注這個項目。也很讓人疲憊不堪。
正常來說,如果是一個全職的工作流程,這些情況都是游戲開發(fā)中非常普遍存在的反復(fù),這個沒什么好抱怨的,但是按照外包的模式來做的話,我是覺得自己血虧的。拿到的報酬至少得再增加一倍,我的心理才能平衡。也怪我第一次接外包沒什么經(jīng)驗,就當(dāng)花錢買教訓(xùn)了,而且合同都簽完了,只能是虧本賺口碑了。
出現(xiàn)問題的是小美的iPhone12。我抓緊買完菜回家,和小美拉了一個單獨的視頻會議,讓她現(xiàn)場演示給我看,幸好我在提供測試版本的時候,把vConsole打包進去了,所以請她打開控制臺,讓我看看Log。
Log里沒有輸出任何的報錯信息,而且和服務(wù)器的消息請求全部都是正常打印出來了。也就是說不是代碼崩潰導(dǎo)致的問題,整個游戲都是在正常的運行的,只是渲染錯亂了。
我第一時間懷疑的是微信的版本太老了,但是檢查了她的微信版本,是最新的版本。
“你們辦公室還有誰是iPhone12的手機嗎?可以看看他的手機能正常運行嗎?”
等了一會,小美拿了另一個iPhone12手機過來,這臺手機上運行是好的。我仔細比較了一下兩臺手機,發(fā)現(xiàn)他們的微信版本都是相同的,只是小美的手機是ios 15.4.1的版本,而好的手機是 ios 18。
這個時候,小美又反饋了一個新的信息。不光是微信瀏覽器里運行異常,在 Safari 瀏覽器打開也是如此。
聽到這里,我頓時有了一個推斷,這個不是微信自己的問題,應(yīng)該是這個版本的蘋果瀏覽器的問題啊。于是我又給小美發(fā)了一個我上架store的試玩游戲,她反饋運行是正常的。這就奇了怪咧。
我再次仔細觀察小美發(fā)的渲染錯亂的視頻,發(fā)現(xiàn)畫面錯亂的原因似乎是第一個相機的Clear Flags根本沒起作用。導(dǎo)致每一幀的畫面都重疊到了前一個畫面上,所以才會出現(xiàn)場景上有兩個跑道的感覺。想到這里,我的心中有了一些眉目。試玩游戲是正常的,而現(xiàn)在的游戲不正常。他們之間存在兩個不同。一個是引擎版本號的不同,一個是相機的設(shè)置不同。
試玩游戲里是創(chuàng)建默認的2個相機。
3D相機——Clear Flags (SkyBox)
Canvas相機 —— Clear Flags (DEPTH_ONLY)
而現(xiàn)在的游戲里有三個相機。
Canvas1 相機 —— Clear Flags ( SOLID_COLOR)
3D相機 —— Clear Flags (DONT_CLEAR)
Canvas2 相機 —— Clear Flags (DEPTH_ONLY)
因為SkyBox的效果不好,所以我在這個項目里,使用了一個背景層的Canvas1,上邊放了一些精靈來顯示藍天白云。從現(xiàn)在的表現(xiàn)來看,Canvas1相機的 Clear Flags 沒有起作用。
于是我就先將現(xiàn)在的游戲的相機的Canvas1刪除了,改成試玩游戲里類似相機設(shè)置,重新打了包,請小美再實驗一下。這下子估計穩(wěn)了,我暗想。
“還是一樣的,畫面會錯亂?!毙∶烙咒浟艘曨l給我看。
于是我又發(fā)了試玩游戲《兄弟向前沖》給小美,這個游戲的相機設(shè)置也是三層,但是只是引擎版本不同。如果《兄弟向前沖》也運行正常,那就可以斷定是 3.8.7 的引擎在 ios 15.4.1上運行有問題咯。
“沒法打開哎。”小美發(fā)來了一張截圖,Safari 瀏覽器上顯示的是“你確定要下載index.html嗎?”小美的 Safari 瀏覽器行為也非常奇怪。很多網(wǎng)址它都會識別成一個要下載的文件,而別的 ios 18就沒有這個問題。
這個問題排查到這里,已經(jīng)進入了一個死胡同。我只得表示無能為力了,這個屬于 ios 的bug了。周老板也表示理解,先放下這個問題,不要耽誤上線。
在這里,我想問一下論壇的朋友,你們有什么思路嗎?