Unity检测图集是否是正方形并且检测它的压缩格式是否是PVRTC
发布日期:2021-06-30 19:40:28
浏览次数:2
分类:技术文章
本文共 1530 字,大约阅读时间需要 5 分钟。
苹果中,没有etc-4的压缩格式,但是有pvrtc压缩格式,相比rgba的压缩格式,pvrtc的压缩比高很多,但是它有个特点,就是压缩完,图片会变成正方形,如果图集原始图片是长方形的,但是用了pvrtc压缩格式,就会导致图集乱了。所以我们需要判断图集是否是正方形,如果是,才设置它的压缩格式为正方形。
我们可以写个方法来检测
public static void CheckTextureFormat(string texturePath){ using(FileStream fs = new FileStream(texturePath,FileMode.Open)) { using(BinaryReader br = new BinaryReader(fs)) { br.ReadInt32(); br.ReadInt32(); br.ReadInt32(); br.ReadInt32(); var widthB = br.ReadInt32(); var wb = System.BitConverter.GetBytes(widthB); var width = System.BitConverter.ToInt32(new byte[]{wb[3],wb[2],wb[1],wb[0]},0); var heightB = br.ReadInt32(); var hb = System.BitConverter.GetBytes(heightB); var height = System.BitConverter.ToInt32(new byte[]{hb[3],hb[2],hb[1],hb[0]},0); if(width != height) { //不是正方形// var assetPath = "Assets"+texturePath.Replace(Application.dataPath,""); TextureImporter imp = AssetImporter.GetAtPath(assetPath) as TextureImporter; var format = imp.GetAutomaticFormat("iPhone"); if(format.ToString().ToLower().Contains("pvr")) { Debug.Log("图片不是正方形,却使用了PVRTC压缩格式"); } } } }}
补充
图集压缩格式建议
| Android | iOS |
---|---|---|
RGB图 | RGB Compressed ETC 4 bits | 正方形图:RGB Compressed PVRTC 4 bits 长方形图:RGB 16bit |
alpha图 | RGB Compressed ETC 4 bits | 正方形图:RGB Compressed PVRTC 4 bits 长方形图:RGB 16bit |
转载地址:https://linxinfa.blog.csdn.net/article/details/86657128 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月20日 16时28分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
tensorflow 数据格式
2019-04-30
tf rnn layer
2019-04-30
常用中间件
2019-04-30
tf input layer
2019-04-30
tf model create
2019-04-30
tf dense layer两种创建方式的对比和numpy实现
2019-04-30
tf initializer
2019-04-30
tf 从RNN到BERT
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
tf keras Dense源码解析
2019-04-30
tf rnn输入输出的维度和权重的维度
2019-04-30
检验是否服从同一分布
2019-04-30
tf callbacks
2019-04-30
keras、tf、numpy实现logloss对比
2019-04-30
Ubuntu20.04安装微信
2019-04-30
Restful风格的使用
2019-04-30
Swagger基础入门整合SpringBoot
2019-04-30
MyBatisPlus简单入门(SpringBoot)
2019-04-30
攻防世界web进阶区NewsCenter详解
2019-04-30
攻防世界web进阶PHP2详解
2019-04-30