问题
使用minigame-unity-webgl-transform插件转换微信小游戏,功能在安卓和开发工具上都能正常,不过使用Dotween(版本DOTweenPro v1.0.244)插件实现的功能在苹果系统中却都不能正常对比如下:
云移动正常:
云移动IOS异常:
手指移动正常:
手指移动IOS异常:
线框显隐正常:
线框显隐IOS异常:
号称能支持绝大部分常用插件的,这个最最常用的Dotween插件应该不会不支持啊,而且我记得我之前做过的几个工程不管在什么系统的手机上都是正常的。刚开始我都不知道如何入手,打开调试日志后并未发现异常,而报错内容是:
Screen position out of view frustum(screen pos 747.000000,455.000000)(Camera rect 0 ,0 ,1170,2532)
其意思就是 屏幕位置在视野之外。而刚好一个这里有个摄像头的移动动画是通过Dotween插件来实现的,而且所有异常的功能都是Dotween动画,让我怀疑了Dotween插件可能不兼容或者异常的可能。 替换过了版本,还是一样的效果;也尝试过Dotween插件放入Plugins文件夹下,依然不行。
解决办法
最终在官方的文档中找到一个安卓和苹果系统的差异设置选项“iOS 高性能模式”。
小游戏平台一直在持续强化小游戏的运行性能,为此我们推出了 iOS 高性能模式,游戏经过简单的适配,将大幅提升性能。游戏在
iOS下性能大幅度提升,目前也有大量的游戏享受到了高性能模式的性能增益。
开通高性能模式的方式为:登录微信公众平台 -> 首页能力地图模块 -> 点击进入"生产提效包" -> 点击开通高性能模式(一些刚申请的号可能首页找不到能力地图模块,可以在左侧菜单的 成长-> 能力地图找到)。
开通成功后,过配置 game.json 的 iOSHighPerformance 为 true 则可进入高性能模式,通过去掉此开关可以正常回退到普通模式,以便两种模式对比。我这里是在后台开通了高性能模式,刷新开发者工具后,苹果手机测试就正常了。
不过这个开关的打开还有一定的限制,如:高性能模式暂不支持一些接口,部分压缩纹理格式不支持。具体请参考开发文档:性能优化 -> 高性能模式。