Protip, when youre trying to use Godot specific properties, like the "parameters/StateMachine/conditions/Moving", you can just right click that property in the godot editior and copy the path
Excellent tutorial Would love to see a ARPG setup for 3d isometric view controller like diablo or path of exile, having issues tryiing to set one up from miximo animations.b
thank you godot root motion video I followed the same as in the video and exported from blender to glb But there is only one animation action. same as godot4.0 , 3.5.2
When you go in the action editor do you have multiple actions? If you do then check your export settings over in animations make sure that's getting exported. If not then odds are the animations didn't load properly in some way you'll have to reload them
@@FinePointCGI Thank you very much for the quick reply I have tried various things about this problem Is it a Godot version issue or is it because I don't know Blender well... in conclusion.. The first Bleder version I followed was version 2.9.2. When I exported with it, the AnimationPlayer contained only the last action selected in Blender. I tried various options but this did not fix the problem. In the end, when I installed the latest Blender 3.5 and repeated the same operation, I was able to get the desired result. In case you go through the same trial and error as me, I will leave the contents ^^;;
@@FinePointCGIsomehow the RootMotionView acting crazy, here is the clip youtube /watch?v=xw4wT0DwvdY , probably because the addons that ive been using or maybe there is some other way around that goes wrong, ive been following your tutorial but im still figuring out how to set it up properly, im using godot 4.21, thanks for the help:)
I'm struggling with custom resource in C#, it finally works, but I have no reason to go on, they should really add a note: C# support is not good enough to make a game now, just for fun only! And the performance on MacOS is totally a mess, please wait until we come up a new version in the future! Totally a waste of time. In my opinion, if you want to make a game in C#, go with Unity, if you want to make a game in Godot, choose GD Script.
The function created in this video, "divideVector3ByFloat", is completely unnecessary. "delta" is a double by default, not a float. That's the reason you are getting an error initially. A simple cast of the "delta" parameter should be used. This is already done in the video but only to comply with the unnecessary function. To divide a Vector3 by a float, simply do that (see below). Correct: yourVector3Value / (float)delta;
Yeah something is wrong with this solution. Gravity doesn't gick in properly and my character moves super slow. I've tried to scan through your code to find if we did something different. But it's not on GitHub. Maybe I missed something in the settings. Idk
Gravity does not work because the code presented here overrides it at the end of PhysicsProcess. To avoid this, you can set only the X and Z components to the new values, and just leave Y as it is (because gravity is applied at the beginning of the script, unless you deleted that bit). If you deleted it, it looked something like: // Add the gravity. if (!IsOnFloor()) velocity.Y -= gravity * (float)delta; // Handle Jump. if (Input.IsActionJustPressed("ui_accept") && IsOnFloor()) velocity.Y = JumpVelocity; The character moves slowly because (from what I can tell), the GetRootMotionPosition function returns the delta per RENDER frame, and not per physics frame. There might be a way to change that, not sure. But to fix it, I moved the setting of velocity out of PhysicsProcess and into Process, where I set the X and Z of velocity to be the result of something like: (Transform.Basis.GetRotationQuaternion() * _animationTree.GetRootMotionPosition()) * (1f/(float)delta) Hope this helps anyone else who comes across this, as I know the comment is a year old lol.
I'm getting this as well. Something to do with the velocity not being set correctly. I fixed it by multiplying the velocity by 2.6. But that seems like a bandaid solution to me, and I really wish I could figure out what's causing it
Hey. I found the solution to this issue if you're still having it all this time later. You need to set the call back process to "physics" in the animation tree
Protip, when youre trying to use Godot specific properties, like the "parameters/StateMachine/conditions/Moving", you can just right click that property in the godot editior and copy the path
I always forget thats a thing!
big thank you for this, i thought you only upload root motion tutorial on godot language 😂
Excellent tutorial Would love to see a ARPG setup for 3d isometric view controller like diablo or path of exile, having issues tryiing to set one up from miximo animations.b
I installed RichardPerry's plugin, did everything step by step, root bone does not get created unlike how it does in 7:45
3d character movements with mobile control and joystick tutorial video create please
Thank you but can irequest can you do a tutorial on making a Character Selection in 3D?
Do you mean like street fighter or like skyrim?
@@FinePointCGI I am creating a maze game and I want a user choose a player
thank you godot root motion video
I followed the same as in the video and exported from blender to glb
But there is only one animation action.
same as godot4.0 , 3.5.2
When you go in the action editor do you have multiple actions?
If you do then check your export settings over in animations make sure that's getting exported.
If not then odds are the animations didn't load properly in some way you'll have to reload them
@@FinePointCGI
Thank you very much for the quick reply
I have tried various things about this problem
Is it a Godot version issue or is it because I don't know Blender well...
in conclusion..
The first Bleder version I followed was version 2.9.2.
When I exported with it, the AnimationPlayer contained only the last action selected in Blender. I tried various options but this did not fix the problem.
In the end, when I installed the latest Blender 3.5 and repeated the same operation, I was able to get the desired result.
In case you go through the same trial and error as me, I will leave the contents ^^;;
@@sjk7033 Im glad you got it working!
i have problems installing the addons, somehow it didnt show the mixamo root options
ill end up using the richardperry addons
Can you link that I would love to look at it especially if it's a better option!
@@FinePointCGIsorry for the late reply, i've been replying but my comment keep missing, here is the the link you asked
@@FinePointCGIgithub RichardPerry/Mixamo-Root
@@FinePointCGIsomehow the RootMotionView acting crazy, here is the clip youtube /watch?v=xw4wT0DwvdY , probably because the addons that ive been using or maybe there is some other way around that goes wrong, ive been following your tutorial but im still figuring out how to set it up properly, im using godot 4.21, thanks for the help:)
I'm struggling with custom resource in C#, it finally works, but I have no reason to go on, they should really add a note: C# support is not good enough to make a game now, just for fun only! And the performance on MacOS is totally a mess, please wait until we come up a new version in the future! Totally a waste of time.
In my opinion, if you want to make a game in C#, go with Unity, if you want to make a game in Godot, choose GD Script.
The function created in this video, "divideVector3ByFloat", is completely unnecessary.
"delta" is a double by default, not a float. That's the reason you are getting an error initially. A simple cast of the "delta" parameter should be used. This is already done in the video but only to comply with the unnecessary function. To divide a Vector3 by a float, simply do that (see below).
Correct: yourVector3Value / (float)delta;
Yeah something is wrong with this solution. Gravity doesn't gick in properly and my character moves super slow. I've tried to scan through your code to find if we did something different. But it's not on GitHub. Maybe I missed something in the settings. Idk
Gravity does not work because the code presented here overrides it at the end of PhysicsProcess. To avoid this, you can set only the X and Z components to the new values, and just leave Y as it is (because gravity is applied at the beginning of the script, unless you deleted that bit). If you deleted it, it looked something like:
// Add the gravity.
if (!IsOnFloor())
velocity.Y -= gravity * (float)delta;
// Handle Jump.
if (Input.IsActionJustPressed("ui_accept") && IsOnFloor())
velocity.Y = JumpVelocity;
The character moves slowly because (from what I can tell), the GetRootMotionPosition function returns the delta per RENDER frame, and not per physics frame. There might be a way to change that, not sure. But to fix it, I moved the setting of velocity out of PhysicsProcess and into Process, where I set the X and Z of velocity to be the result of something like:
(Transform.Basis.GetRotationQuaternion() * _animationTree.GetRootMotionPosition()) * (1f/(float)delta)
Hope this helps anyone else who comes across this, as I know the comment is a year old lol.
I'm getting this as well. Something to do with the velocity not being set correctly. I fixed it by multiplying the velocity by 2.6. But that seems like a bandaid solution to me, and I really wish I could figure out what's causing it
Hey. I found the solution to this issue if you're still having it all this time later. You need to set the call back process to "physics" in the animation tree