• Unity贴图压缩优化处理


    第2条的4M可以根据自己的项目实际情况判断,可以从大往小逐层处理;

    第6条,没有RGB32,改为RGB24; 

    =================================================================9.11更新=====================================================

    最近在用UPR检测本地资源的时候发现一些问题

    1.纹理alpha Source

    我刚开始只是纯粹的以为是贴图是否包含alpha通道

    然后通过写了判断 alpha通道去设置这个参数

    然后兴冲冲我又去检测了,然后不行,还是有,我看了列出来的贴图,的确是没有被修改

    哪里出问题了?我这代码没毛病啊,老铁!

    后来和同事讨论了一下,同事建议我去获取贴图的每一个像素点,去检查,说不准上面那个方法不准呢(当然我还是觉得这个空的alpha通道有文章)

    然后就改成酱紫

     

     在上面还发现GetPixels这个方法只能在贴图在默些特定Format格式下才能正确获取

    于是在这个检测之前又加了这个

     先全部修改为能获取的格式,因为我这个是在自动设置贴图Format格式的工具里面写的,所以后面会修改为适合的格式,这里不用担心

    修改,找了一个图看了下,哎,改了改了,牛批;再检测,

     

     

     

     oh , shit

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    经过一晚上认真思虑,利用业余爱好舒缓了我的心情(打了一晚上lol)

     你以为我玩的是亚索?不我只玩200斤的VN

    好,新的一天开始了

    我们再来看看昨天的问题

    我在工程里面反复切换alphasource -> none ,RGB16   

    没看出来是到底他这个检测是什么原理,难不成他自己有什么黑科技不给我们用?

    看原图,放进场景看,正着看,倒着看,侧着看,我看女孩子都没这么仔细!

    无果。

    于是我觉得,只能请出它了

     我淡定的找到一张检测出有问题的图

    右键

    show in Explorer

    然后再右键

    打开方式

     在经过了放大至一像素(我竟然用颜色吸管去吸通明通道)
    裁剪边缘空白之后

    等等

    空白?空的Alpha通道

    空!

    oh。。。shit

    思绪就像喷屎一样喷涌而出

    打开VS

     这里稍微解释一下,isAlpha是这个贴图是否包含透明通道,而后面的遍历像素,是为了找是否有空的Alpha透明通道,也就是为0

    在不包含透明通道或者有空的alpha通道的时候,将alphasource设置为none

    然后先看了几张之前有问题的,修改成功!

    检测,没了

    好了,终于。。。

    可以看下一个问题了

  • 相关阅读:
    new对象数组时的内存布局
    写程序取自己进程的AEP
    类虚函数表原理实现分析(当我们将虚表地址[n]中的函数替换,那么虚函数的实现就由我们来控制了)
    测试 __try, __finally, __except(被__finally捕获的异常, 还会被上一级的__except捕获。反之不行)
    围观M$的new
    将258.369 double值转为内存表示(科学计数法)
    Broadcast Reveiver作用
    DEBUG模式下, 内存中的变量地址分析
    不包含SDK头文件, 补全API定义
    俄罗斯方块SDK版
  • 原文地址:https://www.cnblogs.com/lovewaits/p/13646421.html
Copyright © 2020-2023  润新知