Panthera Runtime - a Defold library designed to integrate animations created with Panthera 2.0 Editor, a versatile animation software, into Defold projects. This runtime library simplifies the process of importing and playing back Panthera animations, enhancing the visual quality and interactivity of Defold games and applications.
Features
Seamless Animation Integration: Import and use Panthera 2.0 animations directly in Defold.
Full Animation Support: Supports all animation features provided by Panthera 2.0, including events, animation blending, nested animations and more.
Flexible Usage: Compatible with both game objects and GUI nodes in Defold, allowing for versatile application across different game elements.
Animation Cursor: Provides a way to control animation manually, allowing for precise control over playback and synchronization with game events.
Hot Reloading: Reload animations on the fly during development, enabling rapid iteration and testing of animation assets.
Setup
See the Panthera repository on Github for the Setup, Documentation, API and Use Cases
Panthera 2.0 Editor is a cross-platform animation software solution developed using the Defold engine, with the goal of streamlining the process of designing layouts and animations for game projects.
Integrated tightly with Defold, Panthera allows the import of .gui files, which can then be animated directly within the editor interface. This tool offers support for various animation techniques, including tweening, triggering, events, and animation keys, allowing users to create complex animations effortlessly.
Panthera 2.0 Editor uses a simple animation JSON format for animation files. If you are not using Defold, the animation runtime can be easily implemented in any game engine or framework.
Features
Intuitive Layout Creation: Design and arrange your scene elements effortlessly.
Advanced Animation Tools: Craft smooth and complex animations to bring your game to life.
Simple Animation Format: Export animations in a simple JSON format for easy integration into your projects.
Compact Size: Lightweight and easy to install, with no additional dependencies required.
Defold Tight Integration: Seamlessly import Defold*.gui files for direct animation within the editor.
Animation Editor Features
Tween Keys: Create tween animation keys to animate number properties over time, like position, rotation, scale and color.
Trigger Keys: Create trigger animation keys to change non-number properties at a specific time, properties like pivot, enabled, image and text.
Event Keys: Create event animation keys to trigger custom events at specific times like play sound or start spine animation. Event keys can have a duration and easing functions.
Animation Keys: Create animation keys to run included animations at specific times. Animation keys can have a duration and easing functions.
Easing Functions: Choose from a variety of easing functions to add smooth transitions to your animations.
Fast Loading: Load project files swiftly to dive into animation creation without delay.
Download
Get the latest release of Panthera 2.0 Editor from the Releases page.
Getting Started Guide
Panthera 2.0 Editor is designed to be user-friendly, with a focus on enhancing the animation workflow within Defold projects. To get started, visit the Getting Started guide to learn the basics.
Also I should to ask the help with testing the animation runtime, there is a lot of cases and it become very time consuming to check everything. Thanks!
Старую версию только не удаляйте пожалуйста. Она нормально работает. Спасибо.
Я по старинке беру лишь несколько строчек из готового результата. Просто чем больше всяких зависимостей и библиотек - больше тормозов.
Add panthera.clone_state function to clone animation states.
Various fixes for correct animation playback.
Add speed modifier for animation states to adjust all animations played by this state.
After creating an animation state, you can set the speed of all animations played by this state by setting the speed property.
Example: animation_state.speed = 1.5
Update documentation.
Update GO and GUI adapters:
GO now supports color and slice9 properties.
The Defold default sprite color property is tint. To use color property for sprite components, use /panthera/materials/sprite.material or any other with color property.
GUI: fix slice9 property typo.
GUI: fix for pie vertices and piebounds properties.
Fix initial timeline key values with the initial animation property. This affects the playing animation at runtime. Resave projects if you encounter any issues
Fix atlas project renaming. It should no longer break dependencies and will use the atlas_id field of the project
BREAKING CHANGES: Change panthera.create_go and panthera.create_gui functions signature.
Now panthera.create_go(animation_path_or_data, [collection_name], [objects]) instead of panthera.create_go(animation_path, [get_node).
Now panthera.create_gui(animation_path_or_data, [template_name], [nodes]) instead of panthera.create_gui(animation_path, [get_node]).
Animation now can be created with a table with animation data directly. You can load JSON by yourself or load it from lua table.
Instead of get_node parameter, you should pass template/collection name and nodes/objects table. Nodes are created from gui.clone_tree, objects are created from collectionfactory.create.
To migrate to new version, you should modify your code to the new signature, or create animations with panthera.create(animation_path_or_data, adapter, get_node) function. Adapter can be obtained by require("panthera.adapters.adapter_[go|gui]").
Add more examples with playing animations in different scenarios.
Update documentation.
The animation_state table now contains animation_id, instead of animation table data. It will be better to log or pprint the animation state.
Rename file panthera_system to panthera_internal.
Add support for is_editor_only timeline key property
Layers can have a color to quick visual identification in node list panel
Editor nodes will sort in the way as Layers GUI in Defold
To change order of layers, select layer and use Alt + Arrow Up/Down hotkeys
Add ordering support by position z
Keep in mind this one will not works in GUI, only at GO
Add Lua animation file format support
You can create the lua file instead of json
You can export your animations from json to lua and back
Add resize support for Node list view and Timeline view
To reset layout, change the editor mode (you can press M for that)
Required to better handling of huge node list or timeline keys list
Add is_editor_only timeline key field
This animation keys will be played only at Panthera Animation Editor
It’s useful for preview triggers/animations or something that can be triggered from events
Example: use event key to translate the text node, but in Editor we will use text property to preview the text
Add frames view in timeline panel
Add option to switch between “frames” and “seconds” in timeline panel
Frames will show the current frame counter instead of seconds
Example: 1 / 60 instead of 0.017 seconds
You can adjust frames per second in the play settings (right click on play button)
Add UX Improvements:
Add hint on hover across the Panthera Editor
Add clipping icon for nodes that have clipping. Usefull to track clipping nodes
Add linked icon if project is linked to external file
Add hotkey U to reset changes on selected nodes
Don’t show “Create Node” options if project are linked. Linked layout can’t be changed
Add current selected node name node selection gizmo
Arrow keys to control nodes now respect the Gizmo Step settings
Add notifiction when you try to change linked file.
Add notification if game.project file is not found for linked file
Add “Copy Relative Path” option at project tab. This path is used in Panthera Runtime
Fix UI/UX issues:
Fix #2: “Node Delete” option now works properly
Fix #5: move only parent nodes in group of selected nodes
Fix #9: Hotkeys should be handled a little bit better
Editor View will keep position while moving between layout and animation modes
Fix vector4 property issue when changed properties not highlighted well
Right click menu for nodes now works properly for selected nodes
Fix issue when you can still can control animation keys with arrows with no selected nodes
Fix issue with buttons “Commit Changes” and “Reset Changes” beign unclickable in some cases
Fix animation state is not immediately updated after changing timeline keys in timeline key properties panel
Known issues:
- [Windows] Cyrillic characters in the path to the project can cause the project to not load properly
- Animations from atlases is not imported properly
Now you can create or open Panthera projects directly from Defold Editor
Panthera now can process much more complex layouts
Add Fold or Unfold all childs for Node List (Alt + Click on arrow icon)
Make *.lua Panthera animation format as default. To use *.json* format you need to set a name of the file with *.json* extension
Add “Select All Animation Keys” option (Right click on animation name in Animation Panel)
Add “Toggle All Keys View” option (Right click on play button in Timeline Panel)
Change Timeline keys view: each selected node will have its own keys group in the timeline by node_id
Add hotkeys for navigation in node list view. Shift + [ and Shift + ] to select parent and child nodes. Shift + P and Shift + Alt + P to select next and previous nodes
Add “Hide Not Selected” option (Shift + Ctrl + E hotkey)
Image sequences (animations from atlases) now imported properly (but they will be a static first frame)
Fix color widget issue when commit unchanged colors