DefAnimator, visual animator for Defold

INFO:DLIB: Log server started on port 53029
INFO:ENGINE: Engine service started on port 8001
INFO:ENGINE: Defold Engine 1.2.162 (e07f3bb)
INFO:ENGINE: Loading data from: dmanif:/Users/joshrackstraw/Downloads/animator_0.2/Animator.app/Contents/Resources/game.dmanifest
INFO:ENGINE: Initialised sound device ā€˜defaultā€™
ERROR:SCRIPT: main/dialogs.lua:5: dlopen(native_libs/nfd, 5): image not found
stack traceback:
[C]: in function ā€˜loadā€™
main/dialogs.lua:5: in main chunk
[C]: in function ā€˜requireā€™
main/main.gui_script:3: in main chunk
WARNING:RESOURCE: Unable to create resource: /main/main.gui_scriptc
WARNING:RESOURCE: Unable to create resource: /main/main.guic
WARNING:RESOURCE: Unable to create resource: /main/main_generated_1.goc
ERROR:GAMEOBJECT: Could not instantiate game object from prototype /main/main_generated_1.goc.
WARNING:RESOURCE: Unable to create resource: /main/main.collectionc
logout
Saving sessionā€¦
ā€¦copying shared historyā€¦
ā€¦saving historyā€¦truncating history filesā€¦
ā€¦completed.
Deleting expired sessionsā€¦109 completed.
[Process completed]

Ahhhh, right! Now I remember, I had to do some hack to get dynamic images to load. Let me see if I remember what I actually did. :slight_smile:

Managed to remember what I did last time, actually wrote a thing about it apparently. (http://svenandersson.se/2016/loading-dynamic-libraries-from-inside-macos-app-folder.html) :slight_smile:

Fixed version: animator_0.2.1.zip (2.4 MB)

5 Likes

Okay, I canā€™t get this one to work either. And you know what? Iā€™m going to have to make this myself (unless sven can make it open source :sweat_smile:)

Key features:

Ability to animate tint, scale, euler, position using keyframes along a timeline.

I think thatā€™s it. Even if I have to import images myself in the editor and get the animations out via debug everytime i want to do this, itā€™s still going to be useful for me.

4 Likes

Release the source, Sven. We will fix it. The Collective has spoken.

4 Likes

My efforts are not going badly! I have timelines and I can select different objects and different points on the time line. I also have a play button.

the only downside is that I have no idea how to actually do the animations once the play button is pressed. My idea is that for each attribute to animate (i.e. ā€œposition.xā€ to create a table with

  1. the object,
  2. the attribute,
  3. a nested table with the keyframes and target values

{
"gui.get_node(ā€œobject1ā€), ā€œposition.xā€, {0 = 0, 0.5 = 0, 1 = 20}
}

the target animation here would be the position.x waiting for the first half of the animation, then sliding to 20 during the second half. And aside from actually doing the animation, Iā€™d also like to print something like gui.animate(ā€œobject1ā€ā€¦) in the debug. And even then i wonā€™t be able to do automatic easing.

Any help?

4 Likes

okay got it! like in Svenā€™s example, itā€™s chained animations using callbacks! and that means you CAN do easing! okay WE DONā€™T NEED THE SOURCE CODE ANYMORE, Iā€™M GONNA MAKE THE SOURCE CODE MYSELF

edit: I DONā€™T KNOW HOW TO DYNAMICALLY CREATE FUNCTIONS CAN ANYONE HELP
edit: OKAY I THINK I CAN USE A GENERIC FUNCTION AND A COUNTER AND MSG.POST()

6 Likes

Maybe you could push your project on Github so we can help developing it? :wink:

P.S. I wish there could be more hackathon days in Defold team! :heart_eyes: Maybe even we can prepare something like that, in community? What do you think? :wink:

3 Likes

I second this!

2 Likes

I only inflict my amateur coding on others when itā€™s completely necessary :sweat_smile:

But seriously, i have written about 200 lines of code that currently donā€™t work and I have only created a system of timelines and keyframe markers, which are not currently connected to anything. Anyone else could easily create something that works much better and much quicker.

When I have an absolute minimum prototype, I will share it.

5 Likes

Goddamn, I was going to say ā€œfudge itā€ and just release the source, but I canā€™t find it anymoreā€¦ :scream: Upgraded my workstation at work recently, I think a lot of small hobby stuff got lost, but I thought I had this one on github. :frowning: Iā€™ll check again on my personal computer later.

But then again, the code was probably super hacky, might as well do it from scratch as @88.josh is doing. :stuck_out_tongue:

4 Likes

Just stick it in Defold Editor 2.5 :wink:

4 Likes

I honestly think an animator would beā€¦ a whole other program other than defold. But even if it was just a visual tool that could import images and animate scale in two dimensions, position, transparency, with some looping, and bones/joints it would be incredibly powerful and useful (specifically, for me. hahahah)

Anyway, I still feel motivated to work on this, although, I have to say that I think almost anyone else could do it better than me. Really, I am not a good coder and this project is really beyond me, i think thatā€™s already been proven. Also, I have lots of other projects that I should be working on nowā€¦ I actually got a new job this week after being unemployed for a month and a half due to coronavirus pressures, and I also just got a sweet contract for my last game, Malas Decisionesā€¦

But after having said all that, the important thing is obviously that I feel like doing it, so Iā€™m pretty sure I will continue to work on this :slight_smile:

1 Like

Well, Defold already has the ability to use custom easing curves in go.animate. Having a way to create those in the editor (considering there is already a graph editor for particles) would be a big plus.
Also there is so much you can do for GUIs and, for example, hierarchy of objects.
No need for a spine replacement, but as an artist first, I like some things to be more visual.

1 Like

I completely agree that adding a graphic-based animation tool would be an INCREDIBLE time saver. It would really be fantastic (hey, thatā€™s why Iā€™m trying to build one!). And youā€™re right, with object heirarchies you can already do so muchā€¦

Okay, I really really am going to try my hardest to make this

3 Likes

If we ever get away to create gui elements and access to a collections hierarchy I can see this being possible to do in an editor script in the future

4 Likes

Some kind of general timeline event track with key interpolation inside of the editor would be a welcome addition. It would have a ton of uses and would be able to help designers more easily polish animations for certain kinds of in game behaviors.

Also, if we talking about creating animation tool as separate Defold project (not by editor extension), it is good idea to use Druid

We can look, which basic or custom GUI components have to be implemented to create software tool like this one :wink:

2 Likes

guys youā€™re putting a lot of pressure on me here :sweat_smile::sweat_smile::sweat_smile::sweat_smile:

But Iā€™m going to do this because I made this video recently using some defold animation stuff and it would have been a lot easier with a graphic interface for animating.

3 Likes

No pressure at all, sorry if you felt like that! Amazing animation! :heart_eyes:

1 Like