-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add animation reset track feature #43115
Conversation
fa7e6fa
to
8eab8d4
Compare
My first feedback is that you should never create the reset track manually, or at much I would add an option in the New dialog like "Create RESET track" and make sure the name is always this (can't be something else and can't be renamed). This is unnecessary flexibility and I think users will appreciate more if this track has a standard name, this way they can quickly see it and identify it in tutorials, examples and documentation. The track will always feel like a special track and this is a good thing. If any track can be the reset track, it will just be more confusing. Of course this option will be grayed out if the track already exists. That said, my belief is that the common way to create this track would be to never do it manually. Instead, it should be a single checkbox in the new track create dialog: This checkbox exists by default here and is turned on by default. If you don't want to use it, you toggle it off in the project settings. This new setting also takes effect if you disable confirmation in this same section (when no confirmation is active and setting is enabled, RESET is track is always created). |
Is it even a good idea to have a reset ANIMATION? Don't we want just reset KEYFRAME? I know this might fit the UI well, but it make no sense to me to be an animation. Or do I miss something? |
Shouldn't this be [in addition] an import setting? For like FBX, GLTF etc [to create the track.] |
@DDL-Blue This has been discussed in the original proposal. Besides it being easier to implement this way (can use the same editor) and offer a familiar way to edit it, it allows to queue it together with other animations (play something, then queue something, then queue reset, then another, or play an animation and queue reset once its finished). Users have already been doing this workflow manually in their projects, so the main goal of this approach is to just formalize it and make it easier to use and discover. |
@fire Yes sure, would be nice to implement it once this is merged. |
@reduz So when you save, it will (if enabled) play the whole animation? In some fast-forward way? Trigger all the function calls? Hopefully not play the sounds. I got your points, but this still seems a bit hacky to me. |
@reduz, even with a fixed name for the reset animation (so you can't set any animation as reset), you'll still be able to insert reset tracks manually by editing the reset animation, because in the end it's just an animation. I'm asking to clarify if that's what you want. |
8eab8d4
to
41ae926
Compare
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
41ae926
to
b7367ac
Compare
It will play every key at time 0 in the RESET animation (the description of the setting has been updated to clarify that). |
Thanks! |
Fixes #812? |
This implements godotengine/godot-proposals#1597.
NOTE: This is barely tested, so testing is welcome.
A few notes follow, about aspects not included or not settled on the original proposal:
Any animation can be the reset animation.Toggle Reset is used to make the current animation the reset one, or revert that:When clicked, you get one of these:The option to toggle reset is there and also asks for confirmation, to avoid accidental clicks that could happen if it was just a button in the animation dock. Also, there's no frequent need to deal with it.The reset animation is marked as such in the dropdown:
If it's the autoplay animation at the same time, it looks like this:
If you have Create Reset Track(s) checked, and there's no reset animation, one will be created with the name RESET.
You can apply the reset animation any time, unless the it's the current one:
There's a new
reset_on_save
property:The cool thing is that it helps in getting a cleaner diff and consistent saved scene, without breaking the workflow, since the current state in the editor is kept. If you need to see how its saved version looks, you can use Scene-> Reload Saved Scene.