As someone just barely starting to move from pixel art 2d with static animations to 3d in Godot, this tutorial is a godsend. Thank you, this is going to be super helpful going forward
Thank you so much, I'm glad it has been such a help to so many people. Remember there's discord servers for asking for help in as well! Animations in 3D can be super obtuse at times xD Good luck in your projects~
Thank you so much, that is high praise! I have no idea how I would even go about suggesting it but you are not the first that's told me I should submit it to the team. Maybe I'll have to get on that~
Thank you so much for this tutorial! I've been trying to parse what I can from the official documentation but there are so many little details that are hard to understand or even know about without seeing them in action.
You should mention the easiest animation tree: deleting AnimationTree and setting Default Blend Time on the AnimationPlayer instead. It's fine if you just need to blend from current to next "play" call.
These tutorials are kinda disjointed. The importing and authoring animations for example, takes 7 minutes to reach to actual importing animations. This video seems to me the highlight of the series. Godot animation tree tutorials are so rare, that's why there are so many views here, atop of the quality of course. Yet there is no link to download the displayed model and its animations (so as the viewer who replicates the steps, confirms he is doing it right) The github link redirects to some generic repo which doesn't have this model, nor its animations. I don't want to replicate 30 minutes of 2 tutorials and do blender stuff. This could be as simple as getting a mixamo model and learn how to blend animation trees, so I then replicate this knowledge on my own models. I am certain I am not the only one having thought this. That said, aside of the strictly linear format, these tutorials are great and cover rare topics, thank you for making these
I apologize if the structure of the series was hard to follow. I had intended for the project to be followed in a linear sort, but you are correct this video does seem to be gaining more traction than others, perhaps a stand alone video on this subject would be helpful. The github link does in fact contain this model and all the animations: Meshes: github.com/Bonkahe/GodotEducationalBiped/tree/main/Meshes Animations: github.com/Bonkahe/GodotEducationalBiped/tree/main/Animations Also as I stated in the first video on this series (I think I did anyways) the github I wanted to kind of exist as a complete character controller that people could drag into their repo's later on, in this regard maybe structuring it with a single repo for the final result and every week that's what updates, but then maybe a different folder for each week with the specific things changed that way you can go to the specific video your watching and get the files for that video? (Not committing to this just yet just floating the idea for going forward as perhaps a good middle ground) Regardless thank you very much for the critique, and the kind words as well~
@@Bonkahe Thank you for the elaborate answer. I am happy to see I am wrong. Those github assets indeed work. Running left/right is inside that imports folder, testing them right now :) My suggestion for the description(s) is that you place links to all used assets in future descriptions so people can find them easily instead of thinking they aren't uploaded at all. Basically provide a blank slate - a starting point. As for the repo structure, having duplicate files seems worth it. For example, one folder for each specific video (under a "Specific Tutorial" or something folder), and the same contents duplicated for the "updated in tutorial X" in the various folders like animations, meshes etc etc That said, I suggest not re-doing a video on the exact same topic. Just add the links to description for the model+animations (runleft/right within Imports included) and it works as standalone video!
So sorry for such a late response, I just noticed a whole bunch of missed comments in my comments list and I'm going back over all of them xP. So I started to do this in the latest series, I do want to clean it up, and I'm not really happy with my organization structure with that series yet, but it's a step in the right direction. I think your right, I think having a link to the exact folder is the right way to go, for now I just have a link the the entire repo, but I think having another link right below it to the specific folder is probably a good idea too. Thank you for your continued feedback on this, I would love if you went over to the new series and had a look at the file structure there, hopefully it will be a bit more user friendly than this version.
So i have 2 animation, walking and weapon. If i enable both, the upper body get into a t pose but if i enable filtering, the upper body is stuck in place, unaffected from bobbing up and down motion.
So in this case it is likely a problem with the animation key frames, specifically which bones are handling the bouncing up and down, unfortunately this is a problem that I probably can't help you with unless I actually have my hands on the project, if you are unable to resolve this either yourself or on the Godot Discord, send me an email with the project repo and I'll see what I can do to help~
@@Bonkahenevermind, i managed solved this problem. I actually skipped the most important step, that is to make a game ready rig rather than just straight up importing the rigify rig to godot.
So a couple of issues could be it. Of course make sure the animation player is set to active. And make sure if the animation is supposed to loop, it is set to loop on the import settings, (depending on whether they have been imported yet or not you can do this in the animation player as well).
Hmmmm, so the most likely culprits with that sort of issue is the root or the hip bone, check to make sure neither one are higher in that animation than in other animations, the root should not be moving at all (unless your doing root motion animations which personally I don't recommend unless you got a better grasp on animations than I do, that is to say your better than a novice xD). The hips are little bit more complicated, they likely should be going up and down, but check what their highest point is compared to the highest point in another animation. You can do this in godot, or in blender, for this sort of thing I would recommend blender.
Are you supposed to use a different animation for walking in different directions or can you just turn your mesh? When I rotate the mesh in code, printing rotation confirms that it's been rotated, but visibly the mesh is still facing forward. Why does that happen? Like I don't see a point to having four animations walking forward, back, left and right if each of them are going to be the same animation of the character walking, just rotated in that direction...
For sure it depends on your game, I made this in this manner so that it could be used like a third person shooter, where the character is oriented in the direction of the camera instead of looking the direction of running, as prior to this video some people had asked for a third person shooter style movement system for a while. For your project (and actually my personal project as well) it makes sense to just orient in the direction of running.
@@Bonkahe I figured out what was causing my mesh not to rotate in the direction the player is walking. If you select the AnimationTree node, in the property panel it has a section AnimationMixer. That section has a checkbox called Deterministic. I randomly turned it off after two weeks of pulling my hair because I couldn't get the mesh to rotate when using an animation tree node and all of a sudden the mesh rotates fine. The description has something to do with blending, but apparently this setting keeps resetting the mesh's rotation even if you're not using any blending. Sometimes one checkbox can cause two weeks of pain. :D Oh ****** it works again, I'm so happy. ^_^ This is kinda strange, because I had also made a test scene with a cube and AnimationTree and AnimationPlayer nodes and it has the Deterministic checkbox checked but I could rotate it in code despite that... So I still don't know why it worked in the test scene but not in the player scene.
so if i had 2 animations that were blended together, how would i call on them? like do i use the same line of code i would with a animation player node and it will just blend the 2 if i play them both at ones?
Theoretically yes, but ultimately it would depend on the animations and your setup, how you blended them together, or want to blend them together, and whether your using an animation tree or not. Lotta variables xP I would try, and if you can't get it maybe hit up the discord for someone to help, or just send me a dm on there, there's almost always someone in the voice chat willing to help.
Iam having an issue with this, when i run scene the blendspace2d doesnt seem to be running the animation at all, been uaving this issue for 2 days now thought i could solve it, i cant
I'm not entirely sure I follow, but for that issue, if the animation tree is set to active and it's still not working then it will be rather difficult for me to help you, you might have better luck talking to someone in the discord and asking for help there, I would hazard a guess another pair of eyes on your work could probably resolve your issue.
Question: For some reason, imported mixamo animations don't work in AnimationTree (They are working only in Animation Player). This affects only mixamo animations. Animations from blender glb file has no issues. Any idea why?
So firstly always check your filters and blend values, 9 times out of ten it's something random like that. With no idea what your animation tree looks like it's always hard to advise, but one solution to issues like this I've found in the past is to run the animation tree with a tree root as just "AnimationNodeAnimation" and put in the problem animation (save your tree first to a resource so you don't lose it.) If your still having the issue in that state it's 100% the animation being the problem, and on that front you have a couple options. Firstly make sure the exports from mixamo have their skin on them, for some reason Godot does not play well with them at all if they don't. Second, have they ever worked in your project? back tracking through everything you changed can be an option, though it's kinda the nuclear option and I would suggest against it. Third, in several of my projects, all imports of .FBX just have issues, even though I have the fbx importer set up and it worked fine in the past, one option I have used is to import them into blender and then just export them directly as gltf (or glb), this kind of works around the problem. I hope some of that helps, just kind of a brain dump of everything that I could think of off hand xP
@@Bonkahe thankyou for taking the time to explain this. Exporting character animation has been a nightmare for me. Some things always manage to jinx. I'll try to your suggestion one by one. B/w your videos have been an immense help to understand the workflow.
@@ranjithrans Absolutely! I hope you find something that fixes your issues, importing animations also always has some little things wrong with it for me as well, not 100% sure why it's so difficult to get clean imports xD
As someone just barely starting to move from pixel art 2d with static animations to 3d in Godot, this tutorial is a godsend. Thank you, this is going to be super helpful going forward
Thank you so much, I'm glad it has been such a help to so many people.
Remember there's discord servers for asking for help in as well! Animations in 3D can be super obtuse at times xD
Good luck in your projects~
Just slowly going trough all your content since its incredibly helpful, clear and pleasant to follow along!
dude, this video is gold, your so easy to understand
You are my hero today! The "Node - TimeScale" chapter really helped me past my roadblock. It completely changes how I do animations in Godot.
absolute legend i needed to know about the bone filters but i stayed for the great tutorial
Thank you very much for this SHORT and concise tutorial with easy language!! its so hard to find a good video that isnt too long or too vague
Thank you so much! I try to keep it as to the point as possible, thank you again for the kind words~
You explain this so well, thank you
This video should be mentioned in the 3d animation tree of Godot, it is really good.
Thank you so much, that is high praise!
I have no idea how I would even go about suggesting it but you are not the first that's told me I should submit it to the team.
Maybe I'll have to get on that~
Super helpful, Thank you!
Thanks for the video. There's not alot of animation tree tutorials on godot!
Highly useful! Thanks a lot for the tutorial.
You had me at your pronunciation of Godot a la Balzac ;) Liked/followed!!
Great tutorial! Just what i was looking for
Glad I could help!
Best of luck on your project~
Thank you, this is a really detailed and amazing tutorial!
Thank you for using it! It makes me very glad to have people use the things I put together.
Incredibly useful video, thank you! :)
So glad it was helpful, and no problem at all~
I literally needed this
man you are amazing thanks for the video.
wow it looks powerful than unity animator
Thank you so much for this tutorial! I've been trying to parse what I can from the official documentation but there are so many little details that are hard to understand or even know about without seeing them in action.
Thank you so much for the kind words!
I'm glad this tutorial has been so helpful to so many people xD
You should mention the easiest animation tree: deleting AnimationTree and setting Default Blend Time on the AnimationPlayer instead. It's fine if you just need to blend from current to next "play" call.
Great video!
thanks
I hope you a healthy, wealthy, and happy life :)
Thank you so much!
Likewise to you as well.
Thank you!
These tutorials are kinda disjointed. The importing and authoring animations for example, takes 7 minutes to reach to actual importing animations. This video seems to me the highlight of the series. Godot animation tree tutorials are so rare, that's why there are so many views here, atop of the quality of course. Yet there is no link to download the displayed model and its animations (so as the viewer who replicates the steps, confirms he is doing it right)
The github link redirects to some generic repo which doesn't have this model, nor its animations. I don't want to replicate 30 minutes of 2 tutorials and do blender stuff. This could be as simple as getting a mixamo model and learn how to blend animation trees, so I then replicate this knowledge on my own models. I am certain I am not the only one having thought this. That said, aside of the strictly linear format, these tutorials are great and cover rare topics, thank you for making these
I apologize if the structure of the series was hard to follow.
I had intended for the project to be followed in a linear sort, but you are correct this video does seem to be gaining more traction than others, perhaps a stand alone video on this subject would be helpful.
The github link does in fact contain this model and all the animations:
Meshes: github.com/Bonkahe/GodotEducationalBiped/tree/main/Meshes
Animations: github.com/Bonkahe/GodotEducationalBiped/tree/main/Animations
Also as I stated in the first video on this series (I think I did anyways) the github I wanted to kind of exist as a complete character controller that people could drag into their repo's later on, in this regard maybe structuring it with a single repo for the final result and every week that's what updates, but then maybe a different folder for each week with the specific things changed that way you can go to the specific video your watching and get the files for that video? (Not committing to this just yet just floating the idea for going forward as perhaps a good middle ground)
Regardless thank you very much for the critique, and the kind words as well~
@@Bonkahe Thank you for the elaborate answer. I am happy to see I am wrong. Those github assets indeed work. Running left/right is inside that imports folder, testing them right now :)
My suggestion for the description(s) is that you place links to all used assets in future descriptions so people can find them easily instead of thinking they aren't uploaded at all. Basically provide a blank slate - a starting point.
As for the repo structure, having duplicate files seems worth it. For example, one folder for each specific video (under a "Specific Tutorial" or something folder), and the same contents duplicated for the "updated in tutorial X" in the various folders like animations, meshes etc etc
That said, I suggest not re-doing a video on the exact same topic. Just add the links to description for the model+animations (runleft/right within Imports included) and it works as standalone video!
So sorry for such a late response, I just noticed a whole bunch of missed comments in my comments list and I'm going back over all of them xP.
So I started to do this in the latest series, I do want to clean it up, and I'm not really happy with my organization structure with that series yet, but it's a step in the right direction.
I think your right, I think having a link to the exact folder is the right way to go, for now I just have a link the the entire repo, but I think having another link right below it to the specific folder is probably a good idea too.
Thank you for your continued feedback on this, I would love if you went over to the new series and had a look at the file structure there, hopefully it will be a bit more user friendly than this version.
good teacher!
Thank you
So i have 2 animation, walking and weapon. If i enable both, the upper body get into a t pose but if i enable filtering, the upper body is stuck in place, unaffected from bobbing up and down motion.
So in this case it is likely a problem with the animation key frames, specifically which bones are handling the bouncing up and down, unfortunately this is a problem that I probably can't help you with unless I actually have my hands on the project, if you are unable to resolve this either yourself or on the Godot Discord, send me an email with the project repo and I'll see what I can do to help~
@@Bonkahenevermind, i managed solved this problem. I actually skipped the most important step, that is to make a game ready rig rather than just straight up importing the rigify rig to godot.
For some reason my animation dont play, my character just stays like stuck on the first frame
So a couple of issues could be it.
Of course make sure the animation player is set to active.
And make sure if the animation is supposed to loop, it is set to loop on the import settings, (depending on whether they have been imported yet or not you can do this in the animation player as well).
ok so ive had this problem where when i fire the animation the player floats up a little bit why would that be???
Hmmmm, so the most likely culprits with that sort of issue is the root or the hip bone, check to make sure neither one are higher in that animation than in other animations, the root should not be moving at all (unless your doing root motion animations which personally I don't recommend unless you got a better grasp on animations than I do, that is to say your better than a novice xD).
The hips are little bit more complicated, they likely should be going up and down, but check what their highest point is compared to the highest point in another animation.
You can do this in godot, or in blender, for this sort of thing I would recommend blender.
Are you supposed to use a different animation for walking in different directions or can you just turn your mesh? When I rotate the mesh in code, printing rotation confirms that it's been rotated, but visibly the mesh is still facing forward. Why does that happen?
Like I don't see a point to having four animations walking forward, back, left and right if each of them are going to be the same animation of the character walking, just rotated in that direction...
For sure it depends on your game, I made this in this manner so that it could be used like a third person shooter, where the character is oriented in the direction of the camera instead of looking the direction of running, as prior to this video some people had asked for a third person shooter style movement system for a while.
For your project (and actually my personal project as well) it makes sense to just orient in the direction of running.
@@Bonkahe I figured out what was causing my mesh not to rotate in the direction the player is walking. If you select the AnimationTree node, in the property panel it has a section AnimationMixer. That section has a checkbox called Deterministic. I randomly turned it off after two weeks of pulling my hair because I couldn't get the mesh to rotate when using an animation tree node and all of a sudden the mesh rotates fine. The description has something to do with blending, but apparently this setting keeps resetting the mesh's rotation even if you're not using any blending. Sometimes one checkbox can cause two weeks of pain. :D
Oh ****** it works again, I'm so happy. ^_^
This is kinda strange, because I had also made a test scene with a cube and AnimationTree and AnimationPlayer nodes and it has the Deterministic checkbox checked but I could rotate it in code despite that... So I still don't know why it worked in the test scene but not in the player scene.
so if i had 2 animations that were blended together, how would i call on them? like do i use the same line of code i would with a animation player node and it will just blend the 2 if i play them both at ones?
Theoretically yes, but ultimately it would depend on the animations and your setup, how you blended them together, or want to blend them together, and whether your using an animation tree or not.
Lotta variables xP I would try, and if you can't get it maybe hit up the discord for someone to help, or just send me a dm on there, there's almost always someone in the voice chat willing to help.
@@Bonkahe alright thank you
Iam having an issue with this, when i run scene the blendspace2d doesnt seem to be running the animation at all, been uaving this issue for 2 days now thought i could solve it, i cant
I'm not entirely sure I follow, but for that issue, if the animation tree is set to active and it's still not working then it will be rather difficult for me to help you, you might have better luck talking to someone in the discord and asking for help there, I would hazard a guess another pair of eyes on your work could probably resolve your issue.
Question: For some reason, imported mixamo animations don't work in AnimationTree (They are working only in Animation Player). This affects only mixamo animations. Animations from blender glb file has no issues. Any idea why?
So firstly always check your filters and blend values, 9 times out of ten it's something random like that.
With no idea what your animation tree looks like it's always hard to advise, but one solution to issues like this I've found in the past is to run the animation tree with a tree root as just "AnimationNodeAnimation" and put in the problem animation (save your tree first to a resource so you don't lose it.)
If your still having the issue in that state it's 100% the animation being the problem, and on that front you have a couple options.
Firstly make sure the exports from mixamo have their skin on them, for some reason Godot does not play well with them at all if they don't.
Second, have they ever worked in your project? back tracking through everything you changed can be an option, though it's kinda the nuclear option and I would suggest against it.
Third, in several of my projects, all imports of .FBX just have issues, even though I have the fbx importer set up and it worked fine in the past, one option I have used is to import them into blender and then just export them directly as gltf (or glb), this kind of works around the problem.
I hope some of that helps, just kind of a brain dump of everything that I could think of off hand xP
@@Bonkahe thankyou for taking the time to explain this. Exporting character animation has been a nightmare for me. Some things always manage to jinx. I'll try to your suggestion one by one. B/w your videos have been an immense help to understand the workflow.
@@ranjithrans Absolutely! I hope you find something that fixes your issues, importing animations also always has some little things wrong with it for me as well, not 100% sure why it's so difficult to get clean imports xD