Using Root Motion in Godot 4 C#

Поделиться
HTML-код
  • Опубликовано: 4 янв 2025

Комментарии •

  • @GoblinArmyInYourWalls
    @GoblinArmyInYourWalls Год назад +3

    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

  • @computercodelearning
    @computercodelearning Год назад

    big thank you for this, i thought you only upload root motion tutorial on godot language 😂

  • @JasonMorelandDigitalrecline
    @JasonMorelandDigitalrecline Год назад

    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

  • @thehyper4288
    @thehyper4288 Год назад +1

    I installed RichardPerry's plugin, did everything step by step, root bone does not get created unlike how it does in 7:45

  • @Cobra661
    @Cobra661 Год назад

    3d character movements with mobile control and joystick tutorial video create please

  • @adriancayao3957
    @adriancayao3957 Год назад

    Thank you but can irequest can you do a tutorial on making a Character Selection in 3D?

    • @FinePointCGI
      @FinePointCGI  Год назад +1

      Do you mean like street fighter or like skyrim?

    • @adriancayao3957
      @adriancayao3957 Год назад

      @@FinePointCGI I am creating a maze game and I want a user choose a player

  • @sjk7033
    @sjk7033 Год назад

    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

    • @FinePointCGI
      @FinePointCGI  Год назад

      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

    • @sjk7033
      @sjk7033 Год назад +2

      @@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 ^^;;

    • @FinePointCGI
      @FinePointCGI  Год назад

      @@sjk7033 Im glad you got it working!

  • @computercodelearning
    @computercodelearning Год назад

    i have problems installing the addons, somehow it didnt show the mixamo root options

    • @computercodelearning
      @computercodelearning Год назад

      ill end up using the richardperry addons

    • @FinePointCGI
      @FinePointCGI  Год назад

      Can you link that I would love to look at it especially if it's a better option!

    • @computercodelearning
      @computercodelearning Год назад

      @@FinePointCGIsorry for the late reply, i've been replying but my comment keep missing, here is the the link you asked

    • @computercodelearning
      @computercodelearning Год назад

      @@FinePointCGIgithub RichardPerry/Mixamo-Root

    • @computercodelearning
      @computercodelearning Год назад

      @@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:)

  • @WeirdGoat
    @WeirdGoat Год назад

    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.

  • @TrueSweatix
    @TrueSweatix 5 месяцев назад +1

    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;

  • @noxh8091
    @noxh8091 Год назад

    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

    • @reeds7777
      @reeds7777 8 месяцев назад

      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.

    • @esmeraldus3906
      @esmeraldus3906 7 месяцев назад

      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

    • @esmeraldus3906
      @esmeraldus3906 3 месяца назад

      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