Animated Texture Atlas

NeonLightGames - Code Plugins - Mar 25, 2023

Animated Texture Atlas adds support for adobe animate's Texture atlas exported objects, allowing for creation of beautiful and smooth 2D animations, including full filters and masking support.

  • Supported Platforms
  • Supported Engine Versions
    5.0 - 5.3
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Animated Texture Atlas adds support for importing Animations made in adobe animate and exported as Texture Atlas option for movieclips and graphics objects. you can layer entire scenes to create fully animated menus, or even entire 2D games, all fully integrated into UMG. This plugin has full support for every filter, masking, and color tinting options from adobe animate, and includes a custom editor to add convex hull collision to the atlas's shape, allowing for buttons to be placed on a per object basis, as well as getting feedback for exactly which part of the animation is being clicked on.




What's included

Adds a new widget to add to UMG scenes called 'AAtlasWidget', you can set the imported source animation in this widget and it will be drawn at the stage location of the exported object by default, if you wish to set the object independently you can set the 'NoStageTransform' flag on the widget and it will ignore the stage transformation. the objects bounds consider the entire object's lifetime of animations, so from frame to frame basis it may be much larger than any individual frame.


the widget can also have full scene filters applied, either added in editor, or driven by code(included is a blueprint function library for creating any of the adobe filters that are usable), as well as per- symbol instance filters can be applied. the widget can also enable or disable layers of the primary symbol only(sub-symbols can not turn on/off layers programmatically through the widget).


The asset editor by default only shows the atlas's individual atlas tiles, letting you build a convex collision around each atlas object. Right clicking anywhere on the atlas will add new points(up to a max of 16, and pressing delete/backspace will remove them). You can also open a details pane under the window menu to manually edit various settings, or inspect the spritemap itself(note: on large animations the details panel may introduce a fair bit of lag while open).




Considerations
  • Filters are not a perfect 1:1 match with adobe animate due to both performance considerations for supporting real time animations, and no documentation on exactly how the filters are implemented. as such blurs may not look precisely the same, and the adjustment node will produce slightly different results then that in animate.
  • Gradient filters only support a max of 4 colors as well.
  • Filters and masks require post processing effects which adds to the footprint of how much rendering needs to be done, so if performance noticeably degrades, you can quickly disable masks and filters by setting the widgets flags for No Mask/No Filters.
  • Adobe animate does not export the blending information selected for objects, as such unfortunately all blending options are not supported by this plugin until the setting is included for export in a future version.
  • Atlas Tiles can have their collision fully disabled by going into the details pane of the asset editor and setting the 'NoInteraction' flag for the desired atlas to turn off.
  • The atlas widget's mouse collision system does not consider overlapping widgets, or any masking that's happening to it, as such be careful with how things are placed.
  • Adobe Animate 2022 was used for development, some features may not be available in older adobe animate versions.

Technical Details

Features:

  •  Full support for adobe animate's Texture Atlas exported option.
  •  Asset Editor for adobe animated textures
  •  UMG Widget for drawing the entire animated object.
  • Full support of all Adobe Animate Filters, Masking, and Color tinting options.
  • Blueprint library to drive custom filters on a per-object or per-sub object instance.
  • Animation system and callbacks with widget for looping/playing animations on demand and be driven by code.


Code Modules:

  •  AnimateAtlas [Runtime]
  •  AnimateAtlasEd [Editor]

Number of Blueprints: 0

Number of C++ Classes: 9

Network Replicated: No

Documentation: https://neonlightgames.com/Documentation

Supported Development Platforms: Windows, Android, iOS, Mac, Linux

Supported Target Build Platforms: Windows, Android, iOS, Mac, Linux