public Dictionary <string, string> GetDefaultFields()
        {
            var defaultSetting  = spriteAtlas.GetTextureSettings();
            var packingSetting  = spriteAtlas.GetPackingSettings();
            var platformSetting = spriteAtlas.GetPlatformSettings("Default");

            var fieldMap = new Dictionary <string, string>
            {
                // Basic
                ["Path/Name"]  = Importer.assetPath,
                ["Atlas Type"] = spriteAtlas.isVariant ? "Variant" : "Master",

                // Packing
                ["Allow Rotation"] = packingSetting.enableRotation.ToString(),
                ["Tight Packing"]  = packingSetting.enableTightPacking.ToString(),
                ["Padding"]        = packingSetting.padding.ToString(),

                // Texture
                ["Read/Write Enabled"]   = defaultSetting.readable.ToString(),
                ["Generate Mip Maps"]    = defaultSetting.generateMipMaps.ToString(),
                ["sRGB (Color Texture)"] = defaultSetting.sRGB.ToString(),
                ["Max size"]             = platformSetting.maxTextureSize.ToString(),
            };

            if (Editor.EnableLog)
            {
                UnityEngine.Debug.Log(fieldMap.ToJson());
            }

            return(fieldMap);
        }
Exemplo n.º 2
0
        protected virtual void OnFirstImport(SpriteAtlas spriteAtlas)
        {
            spriteAtlas.SetIncludeInBuild(false);

            //------- PackingSettings -------

            var packingSettings = spriteAtlas.GetPackingSettings();

            SetPackingSettings(ref packingSettings);

            spriteAtlas.SetPackingSettings(packingSettings);

            //------- TextureSettings -------

            var textureSettings = spriteAtlas.GetTextureSettings();

            SetTextureSettings(ref textureSettings);

            spriteAtlas.SetTextureSettings(textureSettings);

            //------ PlatformSettings ------

            foreach (var platformName in DefaultTargetPlatforms)
            {
                var platformSetting = spriteAtlas.GetPlatformSettings(platformName.ToString());

                SetTexturePlatformSettings(ref platformSetting);

                spriteAtlas.SetPlatformSettings(platformSetting);
            }
        }
        public static void SetTextureSettings(SpriteAtlas spriteAtlas)
        {
            var textureSettings = spriteAtlas.GetTextureSettings();

            textureSettings.readable        = false;
            textureSettings.generateMipMaps = false;
            textureSettings.filterMode      = FilterMode.Bilinear;
            spriteAtlas.SetTextureSettings(textureSettings);
        }
Exemplo n.º 4
0
    public static void CopySpriteAtlasSetting(SpriteAtlas target, SpriteAtlas template)
    {
        // 注意:默认设置为False
        target.SetIncludeInBuild(false);

        // 通用属性
        target.SetPackingSettings(template.GetPackingSettings());
        target.SetTextureSettings(template.GetTextureSettings());

        // 平台设置
        target.SetPlatformSettings(template.GetPlatformSettings("Standalone"));
        target.SetPlatformSettings(template.GetPlatformSettings("iPhone"));
        target.SetPlatformSettings(template.GetPlatformSettings("Android"));
    }
Exemplo n.º 5
0
    /// <summary>
    /// 复制图集设置
    /// </summary>
    public static void CopySpriteAtlasSetting(SpriteAtlas target, SpriteAtlas template)
    {
#if UNITY_2018_4_OR_NEWER
        // 注意:默认设置为False
        target.SetIncludeInBuild(false);

        // 通用属性
        target.SetPackingSettings(template.GetPackingSettings());
        target.SetTextureSettings(template.GetTextureSettings());

        // 平台设置
        target.SetPlatformSettings(template.GetPlatformSettings("Standalone"));
        target.SetPlatformSettings(template.GetPlatformSettings("iPhone"));
        target.SetPlatformSettings(template.GetPlatformSettings("Android"));
#else
        Debug.LogWarning($"{Application.unityVersion} is not support copy sprite atlas setting. Please upgrade to unity2018.4 or newer.");
#endif
    }
Exemplo n.º 6
0
        public static bool CheckSettings(this SpriteAtlas atlas, SpriteAtlasSettings settings)
        {
            var atlasTextureSettings = atlas.GetTextureSettings();
            var packingSettings      = atlas.GetPackingSettings();
            var isVariant            = atlas.isVariant;

            var textureSettings = settings.ImportSettings.GetTextureImporterSettings();
            var sameSettings    =
                atlasTextureSettings.generateMipMaps == textureSettings.mipmapEnabled &&
                atlasTextureSettings.filterMode == textureSettings.filterMode &&
                atlasTextureSettings.readable == textureSettings.readable &&
                atlasTextureSettings.sRGB == textureSettings.sRGBTexture &&
                packingSettings.padding == settings.Padding &&
                packingSettings.enableRotation == settings.AllowRotation &&
                packingSettings.enableTightPacking == settings.TightPacking &&
                isVariant == (settings.Type == SpriteAtlasType.Variant);

            return(sameSettings && CheckPlatformSettings(atlas, settings, BuildTargetGroup.Unknown) &&
                   CheckPlatformSettings(atlas, settings, BuildTargetGroup.Standalone) &&
                   CheckPlatformSettings(atlas, settings, BuildTargetGroup.Android));
        }
Exemplo n.º 7
0
        protected virtual void OnFirstImport(SpriteAtlas spriteAtlas)
        {
            spriteAtlas.SetIncludeInBuild(false);

            //------- PackingSettings -------

            var packingSettings = spriteAtlas.GetPackingSettings();

            packingSettings.padding = 2;

            spriteAtlas.SetPackingSettings(packingSettings);

            //------- TextureSettings -------

            var textureSettings = spriteAtlas.GetTextureSettings();

            textureSettings.readable        = false;
            textureSettings.generateMipMaps = false;

            spriteAtlas.SetTextureSettings(textureSettings);
        }
        protected virtual void OnFirstImport(SpriteAtlas spriteAtlas)
        {
            spriteAtlas.SetIncludeInBuild(false);

            //------- PackingSettings -------

            var packingSettings = spriteAtlas.GetPackingSettings();

            packingSettings.padding            = 2;
            packingSettings.enableTightPacking = false;
            packingSettings.enableRotation     = false;

            spriteAtlas.SetPackingSettings(packingSettings);

            //------- TextureSettings -------

            var textureSettings = spriteAtlas.GetTextureSettings();

            textureSettings.readable        = false;
            textureSettings.generateMipMaps = false;

            spriteAtlas.SetTextureSettings(textureSettings);

            //------ PlatformSettings ------

            foreach (var platformName in DefaultTargetPlatforms)
            {
                var platformSetting = spriteAtlas.GetPlatformSettings(platformName.ToString());

                platformSetting.overridden     = true;
                platformSetting.format         = TextureImporterFormat.ASTC_RGBA_4x4;
                platformSetting.maxTextureSize = 1024;

                spriteAtlas.SetPlatformSettings(platformSetting);
            }
        }
Exemplo n.º 9
0
        //================================================================================
        // 関数
        //================================================================================
        /// <summary>
        /// 指定された TextureImporter に設定を適用します
        /// </summary>
        public void Apply(SpriteAtlas spriteAtlas)
        {
            var packingSettings = spriteAtlas.GetPackingSettings();

            if (m_enableRotation.IsOverride)
            {
                packingSettings.enableRotation = m_enableRotation.Value;
            }

            if (m_enableTightPacking.IsOverride)
            {
                packingSettings.enableTightPacking = m_enableTightPacking.Value;
            }

            if (m_padding.IsOverride)
            {
                packingSettings.padding = m_padding.Value;
            }

            spriteAtlas.SetPackingSettings(packingSettings);

            var textureSettings = spriteAtlas.GetTextureSettings();

            if (m_readable.IsOverride)
            {
                textureSettings.readable = m_readable.Value;
            }

            if (m_generateMipMaps.IsOverride)
            {
                textureSettings.generateMipMaps = m_generateMipMaps.Value;
            }

            if (m_sRGB.IsOverride)
            {
                textureSettings.sRGB = m_sRGB.Value;
            }

            if (m_filterMode.IsOverride)
            {
                textureSettings.filterMode = m_filterMode.Value;
            }

            if (m_anisoLevel.IsOverride)
            {
                textureSettings.anisoLevel = m_anisoLevel.Value;
            }

            spriteAtlas.SetTextureSettings(textureSettings);

            if (m_defaultSettings != null)
            {
                var platformSettings = spriteAtlas.GetPlatformSettings("DefaultTexturePlatform");
                m_defaultSettings.Apply(platformSettings);
                spriteAtlas.SetPlatformSettings(platformSettings);
            }

            if (m_standaloneSettings != null)
            {
                var platformSettings = spriteAtlas.GetPlatformSettings("Standalone");
                m_standaloneSettings.Apply(platformSettings);
                spriteAtlas.SetPlatformSettings(platformSettings);
            }

            if (m_iPhoneSettings != null)
            {
                var platformSettings = spriteAtlas.GetPlatformSettings("iPhone");
                platformSettings.overridden = true;
                m_iPhoneSettings.Apply(platformSettings);
                spriteAtlas.SetPlatformSettings(platformSettings);
            }

            if (m_androidSettings != null)
            {
                var platformSettings = spriteAtlas.GetPlatformSettings("Android");
                m_androidSettings.Apply(platformSettings);
                spriteAtlas.SetPlatformSettings(platformSettings);
            }

            if (m_webGLSettings != null)
            {
                var platformSettings = spriteAtlas.GetPlatformSettings("WebGL");
                m_webGLSettings.Apply(platformSettings);
                spriteAtlas.SetPlatformSettings(platformSettings);
            }
        }