Three.js 在iPhone手機(jī)上部分貼圖黑色問題

最近在測試移動端適配性的時候發(fā)現(xiàn)模型的貼圖有時候會變成純黑色,每次刷新變黑的部分還會隨機(jī)不一樣,而且首次加載一般沒問題,關(guān)掉網(wǎng)頁再次加載的時候極高概率觸發(fā)。
搜了一下發(fā)現(xiàn)Three.js官方也知道這個問題,問題的起因是:ios15.x系統(tǒng)中更新了貼圖機(jī)制,導(dǎo)致貼圖無法加載,three.js官方給出的結(jié)論是這是ios本身的bug,可以通過如下方式改善這個問題:

            //修復(fù)部分紋理隨機(jī)黑色問題
            const IS_IOS =
                /^(iPad|iPhone|iPod)/.test(window.navigator.platform) ||
                (/^Mac/.test(window.navigator.platform) && window.navigator.maxTouchPoints > 1);
            if (IS_IOS) {
                window.createImageBitmap = undefined;
            }

原理是在ios上關(guān)閉bitmap,測試后確實(shí)好了,但官方也給出了限制:如果貼圖過多(超過20張),可能還是會出現(xiàn)此類問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容