zoukankan      html  css  js  c++  java
  • Unity 通过代码设置贴图导入压缩格式

    各平台如果不勾选 override 将不会应用单独设置而是现实默认设置。

    Compression 只有 Default 设置里才能设置,Compression 与 Format 之间是映射关系。如果不勾选 override,Compression 的设置不同,在不同平台将会默认显示不同的压缩格式。

                    TextureImporter ti = AssetImporter.GetAtPath(m_texturePathList[i]) as TextureImporter;
                    if (ti == null) { continue; }
                    if (ti.textureType == TextureImporterType.Sprite) { continue; } // 排除 Sprite
    
                    TextureImporterPlatformSettings ti_iPhone = ti.GetPlatformTextureSettings(m_platform);
                    bool isModify = false;
                    if (ti_iPhone.overridden)
                    {
                        if (ti_iPhone.format == TextureImporterFormat.PVRTC_RGB4)
                        {
                            ti_iPhone.format = TextureImporterFormat.ASTC_RGB_4x4;
                            isModify =true;
                        }
                        else if (ti_iPhone.format == TextureImporterFormat.PVRTC_RGBA4)
                        {
                            ti_iPhone.format = TextureImporterFormat.ASTC_RGBA_4x4;
                            isModify =true;
                        }
                    }
                    else if (ti_iPhone.compressionQuality == (int)TextureCompressionQuality.Normal) //默认就会是PVRTC
                    {
                        ti_iPhone.overridden = true;
                        ti_iPhone.format = ti.DoesSourceTextureHaveAlpha() ? TextureImporterFormat.ASTC_RGBA_4x4 : TextureImporterFormat.ASTC_RGB_4x4;
                        isModify =true;
                    }
                    if (isModify)
                    {
                        ti.SetPlatformTextureSettings(ti_iPhone);
                        ti.SaveAndReimport();   // 应用并重新导入
                        AssetDatabase.ImportAsset(m_texturePathList[i]);
                        Debug.LogFormat("Texture:{0}", m_texturePathList[i]);
                        count++;
                    }
    

    格式对比如下:

  • 相关阅读:
    UVA 11859
    [OpenGL]OpenGL坐标系和坐标变换
    树状数组
    编程算法
    乞讨 间隔[a,b]在见面p^k*q*^m(k>m)中数号码
    解析Android的 消息传递机制Handler
    Atitit.故障排除系列---php 计划网站数据库错误排除过程
    Remove Element
    [Angular Directive] Write a Structural Directive in Angular 2
    [Compose] 18. Maintaining structure whilst asyncing
  • 原文地址:https://www.cnblogs.com/ZeroyiQ/p/12097339.html
Copyright © 2011-2022 走看看