Open CsloudX opened 11 months ago
I ran into this, too and I'm thinking about giving an implementation a try. I think it needs https://github.com/godotengine/godot-proposals/issues/7899 and https://github.com/godotengine/godot-proposals/issues/4336 first, but instead of using weird paths I'd just extend ResourceSaver / ResourceLoader with methods dealing with PackedByteArray.
Then the various animation editors could serialize data for the clipboard and deserialize clipboard data, making copy paste across the different editors possible.
I haven't checked yet, but if the editor instances are not recreated each time you switch to a blend tree / state machine, I could get away with just cloning stuff like the visual shader editor seems to do. I'll have a closer look in the evening, but maybe somebody can provide some pointers.
EDIT: this issue https://github.com/godotengine/godot/issues/80009 is related.
My lunch break investigation showed that the editors are only created once. The approach the visual shader editor uses can be used here, including supporting copy & paste between different trees / state machines / etc. The only real disadvantage is that you can't copy & paste between different Godot editor instances, but that's something people can live with, I think.
This is extremely important functionality that I'm surprised isn't getting much attention. There should be no reason to manually rebuild the same nodes any time you want to restructure your state machine. Seems like a massive oversight in the design of the AnimationTree to not provide this fundamental capability.
@colinmbo Please don't bump issues without contributing significant new information. Use the :+1: reaction button on the first post instead.
Describe the project you are working on
a fps game
Describe the problem or limitation you are having in your project
First, my graph like this: then, I change my graph to this: And want to reuse my
RunningLocomotion
BlendSpace inLocomotion
StateMachineI want to move a BlendSpace2d node into another blending node. However, there is no way to move a node into another without re-making it. It would be good some simple options such as copy, paste, cut, duplicate and similar.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Adding the options when right mouse input is pressed and enable keys such as Ctrl + C
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
/
If this enhancement will not be used often, can it be worked around with a few lines of script?
/
Is there a reason why this should be core and not an add-on in the asset library?
/