IOS15.4无法运行WebGL2.0问题

国内所有网站居然搜不到这个问题是我最奇怪的;

ios15.4更新之后Unity打包WebGL无法运行,卡在加载读条最后一点点,也不会报错;

原因是apple更新15.4之后WebGL有大bug;

Unity官方给了一个修改编译文件的方法,有解决这个问题的可能性;

但是还是有大部分开发者在图形显示上遇到了更多的坑;

apple官方说他们已经修复了这个bug至于什么更新发版未知;

毕竟不在商店上架又抽不到成;

以下解决方案互相独立,有可能解决但不一定;

解决办法:

1.将webgl2.0改为webgl1.0(意味着不能使用liner和urp);
2.3D项目调低lightmapEncoding;
3.修改untiy安装目录中文件

edit/il2cpp/libil2cpp/metadata/GenericMetadata.cpp

找到这个函数

const Il2CppType* GenericMetadata::InflateIfNeeded

在这个函数的前后分别加上

#pragma clang optimize off

#pragma clang optimize on

删除工程目录中

Library/Bee/artifacts/WebGL/il2cpp

2020版本工程要删除

Library/Il2cppBuildCache

最后Safari浏览器清空缓存

以上只是有可能解决,具体还得等apple系统更新15.4.2等到15.5了都没更…

### 如何在 iOS WKWebView 中配置 WebGL Preferences 为了使 `WKWebView` 支持 WebGL,在创建 WebView 的时候需要特别配置其偏好设置。具体来说,通过调整 `WKPreferences` 来启用 JavaScript 和加速渲染功能。 ```swift import WebKit class GameViewController: UIViewController { var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let webConfiguration = WKWebViewConfiguration() // 配置偏好设置以支持WebGL let preferences = WKPreferences() preferences.javaScriptEnabled = true // 启用JavaScript[^1] preferences.minimumFontSize = 0 // 设置最小字体大小为默认 // 开启硬件加速绘图 if #available(iOS 10.0, *) { preferences.isJavaAppletEnabled = false // 关闭过时技术的支持 preferences.mediaPlaybackRequiresUserAction = false // 自动播放媒体文件 preferences.allowsInlineMediaPlayback = true // 允许内联视频回放 // 特别重要的一点是开启GPU进程中的OpenGL ES/WebGL支持 webConfiguration.preferences.setValue(true, forKey:"allowUniversalAccessFromFileURLs") webConfiguration.requiresUserActionForMediaPlayback = false } webConfiguration.preferences = preferences webView = WKWebView(frame: .zero, configuration: webConfiguration) view.addSubview(webView) gotoStartGame() } func gotoStartGame(){ // 加载本地HTML页面或其他初始化操作... } } ``` 需要注意的是,对于某些版本的 iOS 可能存在兼容性问题,比如 IOS15.4 对于 WebGL2.0 存在一定的限制[^3]。如果遇到不兼容的情况,则可能需要考虑降级到 WebGL1.0 或者按照官方建议的方法来解决问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小紫苏0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值