godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Add an easing property to 3D transform animation keyframes #2019

Open vybr opened 3 years ago

vybr commented 3 years ago

Describe the project you are working on

Making a demo project to test a 3D workflow

Describe the problem or limitation you are having in your project

Trying to animate a walk cycle for a 3D character made up of blocks with the animation tool. A key part of making animations look realistic and satisfying is with easing which is not present in the editor for 3D transform keys.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Add an easing property to the editor for 3D transform keyframes just like it is available for property value keyframes/tracks. Unless there's a technical reason why it cannot be added.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

image

If this enhancement will not be used often, can it be worked around with a few lines of script?

Well, track_set_key_transition() exists. Though I don't know if it works with transform keys, it would be tedious to manually edit every key for every animation with code.

Is there a reason why this should be core and not an add-on in the asset library?

If it's a missing feature I'm not sure how it could be added with an add-on.

Calinou commented 3 years ago

Personally, I use property tracks with nodes' Transform properties instead of using the 3D transform keys. You can use easing for those just fine.

vybr commented 3 years ago

Ah yes I forgot about that, though that means you can't edit rotation and scale separately. I'll just have to nest it in another node. And now there's just the issue of transforms not updating in the inspector in real-time. I have to deselect and reselect the node for the value to update and add it as a key. I'll file an issue.

Calinou commented 3 years ago

3D Transform keys were removed as part of the animation data rework in 4.0. Therefore, this proposal is no longer relevant for 4.0.

And now there's just the issue of transforms not updating in the inspector in real-time. I have to deselect and reselect the node for the value to update and add it as a key. I'll file an issue.

Did you open an issue for this?