Closed Zeolow closed 1 year ago
This can easily be achieved by having a blendSpace1D with all animations distributed in 1-size steps for example and then setting the parameter to one of those step values.
Is there a way we can improve blendSpace1D so it's easier to find / use for the relay node purpose?
Yeah I am aware that the blendSpace1D can do this but it just feels a bit clunky and unintuitive to do it that way. But yeah maybe the solution would be to improve the blendSpace1D so that it could be optional to have it expand without having to enter it. It becomes a bit hard to see what is going on when you have to enter the blend space, and check each individual little dot for what is on it.
The blendSpace1D also struggles a bit with oneShot use, I think it becomes weird if the animations in the blendSpace are of different length.
This feature in conjunction with #3352 would immediately make Godot far more usable for 3D games. I am currently working on a first person dungeon crawler, where the player can equip multiple weapons. If I want to switch between them, I currently need to either chain blend2 nodes, set up blend1D nodes for each animation with variations, or maybe just swap out animationTree nodes, none of which are as user-friendly and easily adjustable as a relay node. The biggest benefit from such a node would be if inputs could be labelled with a string, as then order would be irrelevant and adding or removing animations wouldn't risk incorrect indexing.
The described node already exists - Transition node:
It allows to specify and wire a number of input animations and then switch between them by setting it's transition_request
property.
Closing per the above comment.
Describe the project you are working on
A 3d arcade spell-battle game
Describe the problem or limitation you are having in your project
Difficulty in easily selecting between multiple variants of the same animation
Describe the feature / enhancement and how it helps to overcome the problem or limitation
An added relay node to the animation tree. The node would be able to plug in multiple animations and with an integer "switch" be able to select between them what to output. This would work similar to a blend2/ 3 but without the blending, just switching. This would enable an easy way to have many different variants of the same animation (that would behave the same way in the blend tree), it could also provide a simple solution to switching between animations without the hassle of creating transitions between them and conditions in a state machine.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
(animation nodes). | RelayNode animation_1 -----input---- > | parameter_relay_int:
animation_2 ----input---- > | value = 3
animation_3 ----input---- > | -----output---> animation 3 animation_4 ----input---- > | animation_5 ----input---- > |
If this enhancement will not be used often, can it be worked around with a few lines of script?
I think it could be very useful for multiple situations and can not be worked around easily since it is a blend tree node.
Is there a reason why this should be core and not an add-on in the asset library?
It seems like a logical node to have.