unity3d 5.0以上打包安卓apk部分手机黑屏问题,尤其魅族手机

来源:互联网 发布:apache 压力测试 标准 编辑:程序博客网 时间:2024/04/29 10:16

前言:最近一直在忙,做游戏,偶尔出来谢谢,记录一下开发中遇到的坑,以后都会写一些

今天用unity3d打包测试一下安卓程序,满怀信心的开始打包,借了朋友的魅族4pro 手机,擦,最新版呀,android 5.0系统

安装成功打开,期待中,过了半个小时(夸张一下),擦,还是黑屏,果然打了好几次都黑屏

百度各种黑屏问题,依然如此没有解决,总是有人再说sdk的问题,还有人说,安卓版本问题,解决了的也没有爆出自己的答案,

好!

既然我解决了我就给大家分享一下,他们不愿意分享我也不勉强,靠自己!来!

经过一番折腾,果断抛弃上面的各种原因,原来是这样,各种成就感,原来不是x86,也不是arm问题,

答案:

在android player setting中有这样一个选项:

OtherUse 32-bit Display BufferSpecifies if Display Buffer should be created to hold 32-bit color values (16-bit by default). Use it if you see banding, or need alpha in your ImageEffects, as they will create RTs in same format as Display Buffer. Not supported on devices running pre-Gingerbread OS (will be forced to 16-bit).擦,谷歌翻译不能用,果断只有百度了,坑啊!翻译如下:

指定是否创建显示缓冲区以保持32位色值(默认值为16位)。如果你看到带使用它,或者在你需要imageeffectsα,他们将创造RTS在同一格式的显示缓冲区。不支持运行pre-Gingerbread操作系统的设备(将被迫16位)

还好有unity圣典:

如果显示缓冲器被创建持有32位颜色值时指定(默认16位)。如果你看到条带或你的图像效果需要alpha时使用,将以相同的格式创建TRs作为显示缓冲器。在运行pre-Gingerbread操作系统的设备不支持(将强制为16位)。


看来最后一句话很关键:Not supported on devices running pre-Gingerbread OS (will be forced to 16-bit).

看来魅族支不支持created to hold 32-bit color values,或者这种转换关系很乱,魅族可能只是16bit,


取消这项的check,果断再打包,运行完美,显示正常了!

收工!


0 1
原创粉丝点击