Documentation

  Unity SWF to GAF Converter: Conversion settings

gaf settings dialog

Conversion Settings Dialog contains all settings of the GAF Converter grouped in collapsible panels by purpose. Here you can find the following panels:

 

General Panel

gaf general settings

 

If this checkbox is selected the GAF: Flash to Unity will automatically check for updates. To disable this option deselect the checkbox.

 

Conversion Panel

gaf conversion panel

 

compress gaf

Compress *.gaf files up to 10 times when this option is turned on.                                                                  

gaf conversion source

You can use a different type of sources inside SWF that will be used by GAF Converter as a source of the animation to convert. This can be Main Timeline - animation that you see when you open SWF file in the Flash player. Or you can tell GAF Converter to use all Movie Clips that exported for Action Script. In the second case you can create more than one animation inside one SWF file and converted animations will share the same texture atlas. The same result you can achieve by creating animations on Main Timeline in different SWF files and convert them in a bundle. Also, it is possible to use both conversion sources.

gaf conversion mode

Conversion mode is the program used by GAF Converter to process an SWF animation. There are two conversion modes available: plain and nesting. More information about conversion modes and their key differences read in article Conversion modes “plain” and “nesting”.

 

Texture Atlas Panel

gaf texture atlas panel

 

gaf limit max bake scale

Example: you have created some animation with black solid fill background. Your background is let's say 1024x768 px. When you convert your animation you will see that one of the regions in the texture atlas is a black rectangle with dimensions 1024x768 px. But you don't want it to be so big in the atlas. You want to save it in a smaller size in the texture atlas and stretch at playback. This is where the Limit max bake scale will be handy.

Create MovieClip with a small rectangular shape inside, for example, 20x20px. Use it in your animation by placing an instance inside and stretch it to the required dimensions, for example, 1024x768px. Turn on Limit max bake scale checkbox and set value 1 in the field near it. Convert the animation and you will see that this shape will be baked with dimensions 20x20px into the texture atlas. If you turn off this option - shape will be baked with dimensions 1024x768px.


(colored squares are the same size in the original texture atlases)

Please note that Limit max bake scale affects all MovieClips that are used in upscaled dimensions, and you should be careful when using this option.

gaf power of two

If you want to save atlases with “power of two” dimensions (256x256, 512x512, 1024x1024, etc.) turn this checkbox on. GAF Converter will find the nearest “power of two” dimension that fits the atlas content. Otherwise, GAF Converter will save the atlas with the minimum possible size. All GAF runtime libraries are working fine with non “power of two” atlases.

atlas max size

Here you can choose texture atlas’ max size generated by GAF Converter. If an animation content doesn’t fit in one atlas with the maximum possible size, GAF Converter will generate more atlases. Note: it is better for the playback performance when all animation’s content fits in one atlas. Otherwise much more draw calls will be generated. The maximum possible atlas size is 4096x4096.

Advanced Scale Settings

advanced scale settings

Advanced scale settings allow developers to create texture atlases for the different screen sizes and manage their settings.

Scale value - is a scale factor that will be applied to regions baked into a texture atlas. Used for: increase/decrease size of the converted GAF animation relative to the original SWF animation, or to produce GAF animation in several sizes. Different values produce visually different sizes. Used together with CSF value to manage texture atlas size.

Content Scale Factor (CSF) value - the ratio between screen size in pixels and screen size in points used by the framework. Using this value you can generate texture atlases for screens with different sizes in pixels but same sizes in points used by the framework (for example non-Retina and Retina iPads). Different values produce visually the same sizes (the difference is only in the pixel/point density. Retina - 4 pixel/point, non-Retina - 1 pixel/point). Used together with the Scale value to manage the texture atlas size.

Scale name - is the suffix that will be used for naming the texture atlas file for the specified scale value. Used in conjunction with the Scale value. Formula: SWFFileName_ScaleName_CSFName.png

Content Scale Factor (CSF) name - is the suffix that will be used for naming a texture atlas file for the specified csf value. Used in conjunction with the CSF value. Formula: SWFFileName_ScaleName_CSFName.png

Note: Scale name and CSF name parameters used to control the names of the atlases for different Scale and CSF values. If you don't want to use this feature - leave name fields empty. GAF Converter will generate atlas names automatically.

gaf csf
(an example of the conversion result generated by GAF Converter using parameters from the image above)

flash originally designed for

The original scale and csf for which the converted SWF animation was designed. Those parameters affect scale and csf calculation in the process of a texture atlas creation.

Example: with Advanced Scale settings you can target the devices with different resolutions on Android, iOS, and other platforms. To do so create an animation for one resolution (Scale: 1 CSF:1) and run GAF Converter with correctly set up Advanced Scale settings (for example Scale=1 and CSF= 1 and 2 for Retina and non-Retina devices).

If you want to create an animation using raster graphics, and you want to use it on both Retina and non-Retina devices you have to do the following:

  1. Create your animation in Flash for Retina resolution (for Scale=1 CSF=2). Because you are using raster graphics, you have to create original animation for the highest resolution to avoid pixelation.

  2. Setup GAF Converter with the following Advanced Scale settings: Scale=1 CSF=1 and 2

  3. Setup "Originally designed for" with the following settings: Scale=1 CSF=2

When the conversion is done, you will see that GAF Converter has created two texture atlases for Retina (Scale=1 CSF=2) and non-Retina (Scale=1 CSF=1) resolutions. 

 

Debug & Optimization Panel

debug and optimization panel

 

Texture atlas compression. In this section you can select one of the four PNG encoding algorithms that will be applied to texture atlases. Below is a description of each algorithm and example of usage.

png lossless fast

Applies fast PNG lossless compression algorithm. The process is fast, but the atlas size in MB is bigger (up to 120% of the size produced by the "PNG lossless slow" algorithm). Use this option for previewing converted animations before the final conversion. Depending on the number of generated texture atlases and their size, conversion can be faster starting from few seconds and up to a few minutes.

png lossless slow

Applies slow PNG lossless compression algorithm. The process is slow, but the atlas size in MB is smaller (up to 80% of the size produced by the "PNG lossless fast" algorithm). Use this option for the final conversion. Depending on the number of generated texture atlases and their size, conversion can be slower starting from few seconds and up to a few minutes.

png posterized

Applies PNG lossy compression algorithm. This algorithm intelligently reduces the number of distinct color/alpha intensities in the image. The final image will look like the image with lossless compression without noticeable changes. The size in MB is smaller (up to 70-80% compared to the size produced by the "PNG lossless slow" algorithm). The result depends on the image. Depending on the number of generated texture atlases and their size, conversion can be slower starting from a few seconds and up to a few minutes.

png-8 256 colors

Applies PNG lossy compression algorithm. This algorithm reduces the number of distinct colors in the image to 256 colors. Use this option for animations with a limited set of colors (without or with a limited number of gradients). The size in MB is smaller (up to 20-30% compared to the size produced by the "PNG lossless slow" algorithm). The result depends on the image. Depending on the number of generated texture atlases and their size, conversion can be slower starting from a few seconds and up to a few minutes.

 

Skipping dynamic Filters and Masks. In this section we placed instruments, which allow you to highly optimize GAF animations during conversion. Using those settings you can remove from the animation all the things, that affect performance during a playback. Also, you can use them to debug an animation and to see the effects, that affect performance. Obtained information might be useful for optimizing an animation in Flash Pro before conversion. Below is a description of each setting.

 

gaf skip dynamic filtersForces the GAF Converter to skip all filters/effects that are not baked into a texture atlas. With this option turned on, you can be sure that converted animation has no dynamic filters. Dynamic filters affect performance during playback and can dramatically decrease FPS. Please note: a converted animation may look slightly different than the original SWF animation.

gaf skip dynamic masks

Forces the GAF Converter to skip all masks that are not baked into texture atlas. With this option turned on, you can be sure that converted animation has no dynamic masks. Dynamic masks affect performance during playback and can decrease FPS. Please note: a converted animation may look different than the original SWF animation.

 

Unity Special Panel

unity special panel

 

unity special auto convertingIf this checkbox is selected the Unity SWF to GAF converter will automatically start the conversion of your animations after dropping the SWF into converter window or project folder. If this checkbox is not selected, you will need to click on "Convert" button after dropping the SWF into converter window or project folder to convert your animation.
 
unity special action after conversionIf this checkbox is selected the Unity SWF to GAF converter will automatically create a gameobject after conversion with some custom options.

 

unity special movie clipunity special animatorMovie clip - create an animation that uses GAF Movie clip to control your animation from code.
Animator - create an animation that uses Unity mecanim state machine to control your animation by using the Animator.
 
 
unity special not bakedunity special bakedNot baked - create an animation with all animation parts structure/hierarchy.
Baked - create an animation that will have only one gameobject without structurehierarchy, but you can use GAF Baked Object Manager script to bring back some objects in the structure/hierarchy.
 
unity special add to scene create prefab instanceWith this dropdown menu you can select the action that will be performed with your converted animation:
 
 
 
 
Add to scene - add your gameobject with animation to your current opened scene in Unity.
Create prefab - create the prefab near your converted animation files (near the config and atlas)
Prefab+instance - create the prefab near your converted animation files (near the config and atlas) and add this prefab to your current opened scene in Unity.