Unity 数值太大导致场景加载卡死问题
2017-09-17 10:55
597 查看
在项目制作过程中遇到了个很蛋疼的问题——场景加载卡死。这个问题让项目一个同学查了好久都没真正查出来,各种纠结。而且这bug还不是必现的,有时候抽风一下在某台电脑能重现,有时候又一点问题都没有,隔三差五的冒出来刷一点存在感。
后面安排我一起来查这个问题,可能是那天运气比较好吧,搞了一下午,突然间发现有个gameObject的配置文件数据有很大的问题,它的scale的y值竟然高达e^21 !!!虽然我们项目做的是编辑器,能够对物体进行放大缩小操作,不过这个值绝对也是不正常的,是相关功能的程序员没做最值保底,然后某个操作引起的数值异常并保存到了配置文件中。我们把这个数值改回到正常值后,场景卡死问题果真就没再出现过了。
不过故事还没结束,大概过了半个月,在发版本的前一天下午,突然出现了摄像机在loading的时候疯狂往下掉的问题,碰撞设置一直没改过,而且也确认了没问题,各种可能的设置也都尝试过了,依然无法解决。
最后尝试通过二分法来删除副本配置(大几百个对象),一步步终于定位到了某个gameObject,加载完后在Unity的Hierarchy中双击它,竟然无法显示!再看它的Inspector界面大致如下图:
在Transform下面的面板有个Warning提示,大概意思是:由于浮点数的精度限制,建议把GameObject的世界坐标控制在一个更小的范围内。初看很令人不解啊,只不过小数点后多了几位,不至于这样吧,接下来我们再看一Inspector的拉宽图:
我次噢,y值不是2.3******,竟然是2.316564e+24 !!!与Scale问题如出一辙。
unity在这方面也是挺坑的,都已经知道有可能产生问题了,却没有任何的提示,只有在Hierarchy中点击到了它,才能看的到警告。而且打出来的包,竟然还出现这么严重的问题,估计是处理数据的那帧发生了异常,导致后续某些关键流程没执行引起的。
这个问题也已经反馈给Unity官方,希望在以后的版本能修复吧。
后面安排我一起来查这个问题,可能是那天运气比较好吧,搞了一下午,突然间发现有个gameObject的配置文件数据有很大的问题,它的scale的y值竟然高达e^21 !!!虽然我们项目做的是编辑器,能够对物体进行放大缩小操作,不过这个值绝对也是不正常的,是相关功能的程序员没做最值保底,然后某个操作引起的数值异常并保存到了配置文件中。我们把这个数值改回到正常值后,场景卡死问题果真就没再出现过了。
不过故事还没结束,大概过了半个月,在发版本的前一天下午,突然出现了摄像机在loading的时候疯狂往下掉的问题,碰撞设置一直没改过,而且也确认了没问题,各种可能的设置也都尝试过了,依然无法解决。
最后尝试通过二分法来删除副本配置(大几百个对象),一步步终于定位到了某个gameObject,加载完后在Unity的Hierarchy中双击它,竟然无法显示!再看它的Inspector界面大致如下图:
在Transform下面的面板有个Warning提示,大概意思是:由于浮点数的精度限制,建议把GameObject的世界坐标控制在一个更小的范围内。初看很令人不解啊,只不过小数点后多了几位,不至于这样吧,接下来我们再看一Inspector的拉宽图:
我次噢,y值不是2.3******,竟然是2.316564e+24 !!!与Scale问题如出一辙。
unity在这方面也是挺坑的,都已经知道有可能产生问题了,却没有任何的提示,只有在Hierarchy中点击到了它,才能看的到警告。而且打出来的包,竟然还出现这么严重的问题,估计是处理数据的那帧发生了异常,导致后续某些关键流程没执行引起的。
这个问题也已经反馈给Unity官方,希望在以后的版本能修复吧。
相关文章推荐
- 【Unity】加载Loading场景进度条slider平滑问题
- unity加载ab后,场景shader不起效问题(物件表现黑色)
- Unity失焦导致通信问题
- Unity的Scene场景选中物体Hierarchy窗口无法锁定选中的物体的问题
- Unity微端场景加载(二)场景资源的下载和显示
- Unity编辑器里重新加载场景后灯光变暗
- 关于WPF的ComboBox中Items太多而导致加载过慢的问题
- Unity 利用协同程序实现场景切换时加载进度的监控
- 【Unity】场景异步加载进度条的制作
- unity场景加载,及协同程序
- Unity4.6.9 Bug导致在Android 6.0设备上黑屏,更新Unity4.7解决问题
- Unity5.6.3异步加载场景
- 【小松教你手游开发】【unity实用技能】unity编辑器工具之加载预制和场景
- SDWebImage加载大图导致的内存警告问题
- Unity游戏开发使用Assetbundle加载场景实战
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题(刚刚)
- [Unity]场景中影子消失的问题与解决
- GridView中网络图片延迟加载导致高度计算失败的问题
- Unity 异步加载场景
- jQuery 重复加载,导致依赖于 jQuery的JS全部失效问题