Пример #1
0
        protected virtual void SetCompressionSettings(TextureImporter textureImporter)
        {
            var config = TextureAssetTunerConfig.Instance;

            if (config == null)
            {
                return;
            }

            if (!IsFolderItem(textureImporter.assetPath, config.CompressFolders, config.IgnoreCompressFolderNames))
            {
                return;
            }

            var size = textureImporter.GetPreImportTextureSize();

            // ブロックが使えるか(4の倍数なら圧縮設定).
            var isMultipleOf4 = IsMultipleOf4(size.x) && IsMultipleOf4(size.y);

            if (!isMultipleOf4)
            {
                SetDefaultSettings(textureImporter);
                return;
            }

            foreach (var platform in Platforms)
            {
                Func <TextureImporterPlatformSettings, TextureImporterPlatformSettings> update = settings =>
                {
                    settings.overridden                  = true;
                    settings.compressionQuality          = (int)UnityEngine.TextureCompressionQuality.Normal;
                    settings.textureCompression          = TextureImporterCompression.Compressed;
                    settings.androidETC2FallbackOverride = AndroidETC2FallbackOverride.UseBuildSettings;
                    settings.format = GetPlatformCompressionType(textureImporter, platform);

                    return(settings);
                };

                textureImporter.SetPlatformTextureSetting(platform, update);
            }
        }