godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.43k stars 21.07k forks source link

Can't animate a Shape2D using "Add Track" button #33807

Open regakakobigman opened 4 years ago

regakakobigman commented 4 years ago

Godot version:

Godot 3.1.1 Mono Stable

OS/device including version:

Windows 8.1

Issue description:

Using the "Add Track" button, a CollisionShape2D's shape property can be animated, but there is no way to animate shape:extents:x or shape:radius without manually typing the property name into the property path text box. Because of this issue, I always thought collision shapes couldn't be animated, and I think others may have been confused into thinking this too.

To animate a Shape2D, the CollisionShape2D has to be selected in the scene tree. Keys will appear next to the shape's properties, allowing them to be animated. There is no way to do this using the "Add Track" button in the animation player. Instead, only the shape itself can be animated, which is usually not desirable because a Resource can't be animated over time.

I don't know what the UX for keying a Shape2D through the 'Add Track' menu should be, or what would be simplest to implement. This problem applies to keying all resources' properties, not just collision shapes.

One idea is to display the properties of the current resource in the "Select Property" menu:

image

It's confusing that there are two ways to add animation tracks, and neither of them can key everything the other can.

The key button in the inspector can't do these things (as far as I know):

The "Add Track" button can't add keys for properties of resources (like the size of CollisionShapes).

To prevent confusion, I think these features should meet one of these conditions:

Steps to reproduce:

With an AnimationPlayer and a CollisionShape2D in a scene, try to animate the CollisionShape2D's Shape resource.

a) Select the CollisionShape2D in the scene. Open its shape in the inspector, and add a key for its extents (if its a RectangleShape2D). This allows you to animate the shape's properties over time.

b) Using the "Add Track" button, this isn't possible. Only the Shape2D resource itself can be animated. The only way to animate its properties is to manually add a dummy track and change its path to CollisionShape2D:shape:extents in the path text box.

golddotasksquestions commented 4 years ago

Related: https://github.com/godotengine/godot/issues/27999

KoBeWi commented 4 years ago

It should be fine to remove "Add Property Track" button altogether. I don't even remember when I used it last time. Probably never, because the key buttons are just too convenient and are the "standard" way of doing animations.

golddotasksquestions commented 4 years ago

@KoBeWi How would you add method track if you remove the "Add track"?

KoBeWi commented 4 years ago

I'm talking about a single button. The dropdown would still be there, just without the Property option. Others are useful.

golddotasksquestions commented 4 years ago

This here is the perfect example of the importance of having more than just one UI path to provide the best UX. (OP never used the key icon to add tracks) Simply removing broken or bad UI paths instead of fixing them is the perfect example what made the 3.1 AnimationPlayer UX worse than it was before.