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++;
                }

格式對比如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM