Extracts textures and animation data from a SWF (AS1, AS2 or AS3). The data can be used for other platforms such as Unity3D or html5. There is only 1 global timeline in the export, looping animations in the original SWF file will repeat over time in the export. Any scripting that affects DisplayObjects is support, all this tool is grabbing the state of each element in the Flash runtime. The current output consists of:
- Texture Atlas
- Texture Atlas lookup file
- Hierarchy and Tween instruction file
This data however is the base for making the animation work on another platform. I am workig currently on a few export formats including a HTML5 canvas based one and a Unity3D one.
Currently it supports the basics which are:
- Display Hierarchy, starting from the main timeline (root or stage)
- Any transform motion which can be eased, scripted or is based on tweens
- Element changes such as: x, y, scaleX, scaleY, alpha
- All in their inital scale: Vector Shapes, MovieClips, Textfields, Symbols, Buttons, Bitmaps and just anything that the flash player can display
Whereas there are naturally also some limitations or things to keep in mind such as:
- Bug: Mirrored Elements (e.g. flip horizontal or vertical). I am working on this one.
- No Masking. Because I don't expect that any GPU accelerated platform would truly be able to archive it the way Flash does, for that its not worthy even trying to support it.
- Stage3d: To complex and not what I am aiming with this project for.
- No Video Objects: This would require a frame by frame array of sprites which is what I want to avoid in this project. Besides there are better ways of getting video on other platforms.
- No Shape Morphing: Because I am rasterizing all the elements of the SWF animation as Bitmaps changing their vector shape at playback is not something I am planning to support.
- No advanced Color Transforms (Alpha, Tint,..). This is actually not supported yet although alpha is. I will roll out a few more color transforms later but not yet.
- No Blend Modes: Blend modes would require on a GPU platform different shaders which is not worth the effort compared to one simple shader for everything.
- No Skewing Transformations: These kind of transformations are to Flash specific and not used that much. On the other hand they are not straight away achieveable in other frameworks such as Unity3D.
- No 3D Transforms such as rotationX,rotationY,rotationZ and stage-FOV related perspective transforms.
The amount of frames to capture.
Wether the generated texture should be in units of power of two or irregular
The margin within the texture Atlas between each sprite