iOSデバイスのブラックテクスチャ
問題点
特定のバージョンのiOSで高解像度や多数のテクスチャを使用すると、SafariのGPUメモリが不足することがあります。 テクスチャが黒く表示されたり、ページがクラッシュすることがあります。
解決方法
-
シーンで使用するテクスチャのサイズと解像度を下げる ( テクスチャの最適化をご参照ください。)
-
iOSデバイスで画像のビットマップを無効にする
iOS 14およびiOS 15には、画像のビットマップに関連する既存のバグがあり、テクスチャの問題が発生することがあります。 画像のビットマップを無効にすることで、黒いテクスチャやクラッシュを防ぐことができます。 下記の例をご確認ください。
例: iOS Bitmapsを無効にする (app.jsの一番上に追加)
// ビットマップはiOSでテクスチャの問題を引き起こす可能性があります。 この解決方法により、ブラックテクスチャやクラッシュを防ぐことができます。
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
}