This section will present a list of After Effects features that can be translated to Squall or Core animations.
Animation
The standard After Effects interpolation types are supported. Currently Core animations does not, however, support mixing hold interpolations with the other interpolation types within the same property.
Squall Animation
Core Animation
Linear Interpolation
Bezier Interpolation
Hold Interpolation
Layers
Squall supports 3D animations for most properties but the perspective for 3D animations can currently deviate quite a bit from After Effects. Spatial interpolation (moving along a path) is supported but Core animations will display inaccuracies for certain types of path animations.
Squall Animation
Core Animation
Transform Anchor Point
Transform Position
Transform Position Separated
Transform Scale
Transform Rotation
Transform Opacity
Visibility
Shape Layers
Merging paths is supported in so far as to support converted text and Illustrator files. Paths within the same scope (i.e. group) are always merged.
Path trimming is implemented as animating the stroke only (it is not actually trimming the path). When using path trimming in conjunction with merged paths, the merged paths are treated as one. Offsetting a trimmed path only operates on the last path that was merged in.
Squall Animation
Core Animation
Path
Merge Paths
Merge Only.
Merge Only.
Trim Path Start
Stroke Only.
Stroke Only. Inaccurate.
Trim Path End
Stroke Only.
Stroke Only. Inaccurate.
Trim Path Offset
Rectangle (All)
Ellipse (All)
Polystar (All)
Stroke Color
Easing is ignored.
Stroke Width
Line Cap
Line Join
Stroke Dash
Stroke Gap
Stroke Dash Offset
Fill Color
Fill Opacity
Gradient Type
Gradient Start Point
Gradient End Point
Gradient Colors
Save project before previewing.
Save project before previewing.
Gradient Highlight Length
Gradient Highlight Angle
Transform Anchor Point
Transform Position
Transform Scale
Transform Rotation
Transform Opacity
Text
Squall supports simple text fields. Please note that only fonts available on the iOS version the Squall SDK is running on will be faithfully represented. iOSFonts.com provides an up to date lists of the available fonts. Missing fonts that may be available on your computer but not on the device will be replaced with the iOS system font.
Text placement is not pixel-perfect accurate but very close to.
Squall Animation
Core Animation
Color
Font
As available on iOS
Font Size
Alignment
Tracking
Text Animations
Text animations are only supported for Squall animations. The randomizer will produce different randomized orders than AE.
Squall Animation
Core Animation
Start/End/Offset
Units
Based on
Mode
Add/ Subtract
Amount
Shape
Smoothness
Ease High/Low
Randomize Order/Seed
Order differs from AE
Opacity
Position
Scale
Rotation
Anchor Point
Tracking Type
Fill Color
Fill Opacity
Fill Saturation
Fill Hue
Fill Brightness
Masks and Mattes
Masks and simple alpha track mattes are supported. Support for nested masks or masked layers with track mattes is currently limited. All masks are treated as additive.
Squall Animation
Core Animation
Alpha Matte
Masks (Add only)
Expressions
Squall can evaluate expressions in two different ways. It can preevaluate ("bake") them on your computer when you render the animation. Or it can evaluate them dynamically on your device while playing the animation.
While baking takes long to render it has the advantage that baked expressions are performant when you play the animation. But once an expression is baked it cannot be changed. Also baked expressions are guaranteed to serve the values that you see in After Effects.
Dynamic expressions are evaluated on the device. They react to changing values and are an easy way to use device input for your animation. But the more complex the expression the worse it will be for performance. Short dynamic expressions, however, can be as or even more performant than baked expressions.
It should be noted that dynamic expressions are in still in beta and may yield incorrect results.
For dynamic expressions, Squall also does not support every expression function or value that After Effects supports. Some values and functions may make sense for a motion graphics authoring software such as After Effects but less so for a real-time animation framework on mobile (e.g. color depth). Things like camera or lights are disregarded as well since they are not supported and therefore their property values are not written to the output file.
In general, baked expressions are recommended if you do not need interactivity or want Core Animation support.
Please note that devices running iOS 10 will be able to resolve more edge cases of dynamic expressions. So be sure to test devices running iOS 10 as well as iOS 9 or older if you intend to deploy an animation with dynamic expressions.
Baked Expressions
Dynamic Expressions (Beta)
Interactive
Core Animation Support
Render Time
File Size
Performance
Accuracy
Parenting and Nulls
Parenting and nulls are supported for both Squall and Core animations.
Images
Squall supports previewing images of common bitmap formats (png, jpg etc.) embedded in the After Effects composition. When previewing the images do not have to be on the device or be part of the app. When parsing an sqa file with the Squall SDK, however, the SDK will look for the images in the main bundle of app. They are not embedded in the sqa file.
Illustrator files (.ai) are not supported but can be converted to shape layers in After Effects and will then be embedded in the animation and sqa file.