Panthera 2.0 - Animation Runtime & Editor

runtime_logo

Panthera Runtime

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

Example

Check the HTML5 example of this Animation Runtime here

21 Likes

logo

Panthera 2.0 Editor

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.
  • Animation Blending: Blend multiple animations simultaneously to create complex, layered 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.

17 Likes

I’m excited to share!

The project has become quite big, but I’m glad to reach the point where I can release it

If you want to see the development process, here is a Twitter thread with GIFs: https://twitter.com/insalitygames/status/1709635552021016870

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!

Let’s make something amazing together :wink:

9 Likes

You can thank @Insality using one of the following services:

8 Likes

Старую версию только не удаляйте пожалуйста. Она нормально работает. Спасибо.
Я по старинке беру лишь несколько строчек из готового результата. Просто чем больше всяких зависимостей и библиотек - больше тормозов.

1 Like

I’ve been following this on twitter and I can wait to start playing with it.

Fantastic job @Insality !

8 Likes

Hello! The new updates for Panthera Runtime and Panthera Editor are here:


made with Panthera

Panthera Runtime v2

Link: https://github.com/Insality/panthera/archive/refs/tags/runtime.2.zip

  • 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.

Panthera 2.0 Editor v633

Link: Release Panthera 2.0 Editor v633 · Insality/panthera · GitHub

  • Add adjustable per-project text font size
  • Add stable JSON key order. No unnecessary diffs!
  • Migrate to Defold 1.8.0
  • 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
  • Various fixes
8 Likes

HTML5 version is planing?

No, only desktop versions

You can find the editor for Windows/MacOS/Linux on release page

1 Like

(( still use panthera-editor :+1:

Hello! New update for the both Runtime and Editor is here

Panthera Runtime v3

Link: https://github.com/Insality/panthera/archive/refs/tags/runtime.3.zip

  • 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

Panthera 2.0 Editor v804

Link: Release Panthera 2.0 Editor v804 · Insality/panthera · GitHub

  • Add *.collection and *.go import

    • It supports only sprite and text components
    • Supports nested collections and go
  • Add Layers support

    • When import GUI the layers will import as well
    • 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

13 Likes

Small example workflow video from Getting Started page

Hello! New update for the both Runtime and Editor is here

Panthera Runtime v4

Link: https://github.com/Insality/panthera/archive/refs/tags/runtime.4.zip

  • Add Defold Editor scripts to create and edit Panthera animations directly from the Defold Editor
    • Panthera Editor should be started before using the scripts.
    • Didn’t tested on Windows, if anyone can check and report - will be awesome
  • Add time overflow handling for more precise animation playback.
  • Prehash all Defold properties (optimization)
  • Code clean up

Panthera 2.0 Editor v894

Link: Release Panthera 2.0 Editor v894 · Insality/panthera · GitHub

  • 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
  • Various bug fixes and improvements

Also published another small workflow video in Panthera on youtube: https://youtu.be/0ElVz4sulaA

14 Likes