Could animation curve editor get a bit of tender loving care?

Hi everyone!

This is more a feature request than question, but… I seem to not find a way to delete a keyframe in the animation curve editor. Is this a known issue or am I missing something?

I feel a bit like I have to be really gentle with everything I do in the editor, or something seems to break so that I cannot fix the issue anymore. Sometimes the keyframes pop out of nowhere and since they cannot be deleted, I try to incorporate them into the timeline :skull: Or sometimes I just export the whole thing and delete them from json…

I feel like with couple of quality of life updates the editor could be really usable.

Few other issues:

  • I cannot “reset” a tangent after I start tinkering with it.
  • Sometimes I change the framerate after I’ve already done something after noticing that the area is too small/hectic for the animation => usually causes extra keyframes if I tinker with this a lot…

If someone could look into these I would be super happy :kissing_face_with_smiling_eyes: I use the editor for all my game animations. This is a "self imposed restriction” so I can have performant animations and not having to tinker with skeletons :smiley:

cc @Deltakosh

Let me add @georgie who will pour as much love as we need onto ACE :slight_smile:

To help her debug, do you mind sharing repro case for the issue you faced?

Sure, I can document the pain points a bit later on! :blush:

Hi! Yes I’m happy to take a stab at making some improvements. Thank you for sharing pain points!

Hi @Panuchka as part of the effort to rebuild inspector in an extensible way, I have reimplemented ACE using our new shared component library

i added in ‘delete keyframe’ functionality and have addressed some minor bugs in the old implementation

please take a look at the new implementation and if you notice any other issues do let me know!

the PR just got checked in this morning so its not yet live in playground (will be tomorrow) but in meantime you can test out using this PR snapshot link

thanks for reporting!

Loading Animation From Snippet Server | Babylon.js Playground

This is awesome, thank you so much for this! :star_struck:

Will look into more when I implement some of my game’s additional animations with this. Tried it pretty swiftly, and noticed couple of things!

  1. The handles seem to not work for me with tangents? (MS Edge Version 144.0.3719.92 (Official build) (64-bit))

  2. Hotkey for playing/stopping (space) is missing. I would also like the delete key to delete the keyframe(s) when pressed, if possible! :smiling_face_with_sunglasses:

I will take a look, thank you!

PR with some improvements, thanks for reporting!
[InspectorV2] Fix ACE bugs and refactor to use V1’s Curve.ts by georginahalpern · Pull Request #17761 · BabylonJS/Babylon.js

Hi again @georgie !

I have some issues now that I tried to work in the same manner I did with the previous editor. With some issues I mean… It is completely unusable right now :sob:

ace

I have at least these issues:

  • When I try to change the clip length from the default 100 to 60, it does not work. I goes to 6 and then nothing. If I copy paste 60 to the field, it does work but not if I do 6 + 0 again.
  • The handles do not update properly, only when zooming and doing other update things.
  • The handle tangents seem to be broken as well?
  • No way to move multiple points anymore?
  • Can’t move points via data inputs on the top either

In the previous version, changing clip length from 100 to 60 added a keyframe to the new endpoint, forcing new keyframe to spawn. That was not very good behavious either, since I kind of used the added keyframe then in some other middle part of the animation curve, or deleted it from json. Would be nice if there was a sort of clipping-to-grid feature too, since it is tedious to change the clip length to shorter and then have to move the end points to the new end point manually.

Thank you very much for testing! I will address these bugs ASAP once in office and ping here when they are fixed. If you are blocked you can use the ?inspectorv1 query string parameter in the URL to use the old ACE.

Hey @Panuchka i’ve checked in [InspectorV2] Fix various ACE bugs which addresses the above. Right now the behavior should match V1 (i.e. if you change clip length it will add new keyframe). For behavior changes/improvements those can come after we finalize our 9.0 release!

You can use this link from the PR snapshot if you’d like to test before the next version bump
prova | Babylon.js Playground

Please let me know if you notice any further issues!

chest2

Just heads up that I have been using the new ACE and it works pretty nicely now! :star_struck: Did this chest opening animation with it for my game! :smiling_face_with_sunglasses: