Found the answer. In Animation Player I just needed to add keys for each frame from my AnimatedSprite Node. Then I would also need to add an animation key to trigger the animation. Hope this helped anyone in the same situation as me. I changed collision by adding keys to change the shape of the collision shape.
The godot docs have a whole section on just this.
Just use a regular Sprite instead of AnimatedSprite
Set the texture to your spritesheet
Set hframes/vframes to tell the Sprite how to divide up your spritesheet
Add keyframes for the Frame property of the Sprite to the AnimationPlayer
You're telling your sprite to switch animations every frame while jumping, so it never gets past the first frame. Take a look at what code executes when is_on_floor() is true and pos.y < 0. You first try to play "Idle" (or "Run", if a direction key is pressed). Then you try to play "Jump", which starts at the first frame. On the next loop, you switch to "...
Your characters have very deformed proportions. It seems like you took an animation designed for a character with more realistic proportions and retargeted it. Animation retargeting generally only gives you good results for characters with very similar proportions. When the characters are too different, then you usually get better results if you redo their ...
This helped me a little.
You can get serialized Properties and use the FindPropertyRelative function to find the data that you want to modify. Like m_PPtrCurves and in there attribute and curve.
InsertArrayElementAtIndex combined with ApplyModifiedProperties can make new array ...
Use a Trigger instead of a Boolean for this.
A trigger is like a boolean, except that it automatically resets itself to false after one frame if you set it to true.
Note that you will need to replace "is_jumping" with a trigger ...
Remember, just because two things look the same or logically are the same in your game's fiction, does not mean they need to be the same entity in your game's implementation.
Here you can have one model that is your boss as a whole, that you can animate as one complete being. Using submeshes or vertex colours, you can split parts of it to render only ...
that doesnt work in Animator.
for working with animator you have to use like this:
float CurrentSpeed = m_Animator.GetCurrentAnimatorStateInfo(0).speed;
if you are in first layer, use zero index else use other indexes.
Turns out unity's transitions were the issue. I had the transition set too slow so no matter how fast I made my animation, it would still take the whole length of the transition for the string to snap back. The way to solve this; decrease the transition time!
When equipping items, it really is best to have them be separate from the rest of the sprite. Unless there are only a handful of items in the entire game that can appear to be equipped, it takes a lot of effort to remake every animation for every item. Additionally, if the player can have multiple items simultaneously, you will need to animate every ...
From this, I can see two solutions. Either you could recreate the effect in Unity, thus negating the problem entirely and leading to potentially cooler results, or you could just fix and export the thing.
Reanimate in Unity
Rather than trying to get the object and its animations to export from Blender into a usable format, you could export the model and ...
To find out the duration of the animation, just open it and look at this part of the screen:
Another way to find out the duration is to divide the total number of frames by the framerate.
In my case:
180/24 => 7.5
In the player animation blueprint on the state machine you will see an option called Play Rate (click on the pink circled location in the ...
To me its looks like "has exit time" is check. so set your transition from walk to dash like this:
also apply same settings for transition Idle to Dash.
"Has Exit Time": Exit Time is a special transition that doesn’t rely on a parameter. Instead, it relies on the normalized time of the state. Check to make the transition happen at the specific time ...