Third Person Game From Scratch with Godot P1 : Character

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ค. 2024
  • What if you want something more than a Bean as your character? How do you go about getting an actual character to move around in an actual level? How to make a Third Person Shooter (TPS). This is my take on implementing the 3Cs (Character, Controls, Camera)
    Animations from ► www.mixamo.com/
    Prototype textures downloaded from ► www.kenney.nl/assets/prototyp...
    Godot Game Tools - GGT ► viniguerrero.itch.io/godot-ga...
    Question? Suggestion? Threat?
    Talk to me on Discord ► / discord
    Check out my game!
    ******* www.solar-rogue.com/ *******
    STEAM ► store.steampowered.com/app/13...
    ITCH.IO ► ombarus.itch.io/solar-rogue
    ANDROID ► play.google.com/store/apps/de...
    IOS ► apps.apple.com/us/app/solar-r...
    ************************************************
    Follow me and support me, check out these links :
    Support me on Patreon ► / ombarus
    Twitter ► @Ombarus1
    Instagram ► / ombarus1
    Website ► www.ombarus.com
    Email ► ombarus.dev@gmail.com
    Github ► github.com/Ombarus
    Music ► www.bensound.com
    My name is Ombarus and I'm a programmer / game developer from Canada who moved to Japan and decided to try my own luck with game dev.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 178

  • @viniguerrero
    @viniguerrero 3 ปีที่แล้ว +55

    Wow, that's nice to know my tool is helping out! Thank you Ombarus for the mention on GGT!

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว +9

      I wasted a lot of time trying to figure this out before I found your tool. I hope others can benefit as well!

    • @juanloutech2864
      @juanloutech2864 3 ปีที่แล้ว +1

      Thank you for the tool!

    • @shiuido359
      @shiuido359 2 ปีที่แล้ว

      It's a shame the tool is out of date now, it looks super helpful!. Maybe @Ombarus can do a tutorial without it

    • @phaus5815
      @phaus5815 ปีที่แล้ว

      @@shiuido359 I just used it and it works

    • @martan3d
      @martan3d ปีที่แล้ว

      @@phaus5815 The tool works great if you use a mixamo model. But I tried to upload a makehuman model and it's not happy when it makes the root bone.

  • @mikatomik5532
    @mikatomik5532 ปีที่แล้ว +4

    I know I’m a bit behind but a tip for people still watching. When you wanna make a static body out of a mesh you don’t have to do it manually. With the mesh node selected click the “mesh” button at the top center of the viewport and you can “create trimesh static body” and it well generate a collision shape and static body for you automatically

  • @Joshua-sn1oe
    @Joshua-sn1oe 3 ปีที่แล้ว +7

    i've been trying to understand the godot and game development process and my archive of knowledge HAS GREATLY IMMENSED, THANK YOU!

  • @irawee
    @irawee 2 ปีที่แล้ว +2

    Thank you so much for your concise insight! I'm looking forward to following along with you and completing my own godot prototype, cheers!

  • @douqwry
    @douqwry 3 ปีที่แล้ว +3

    thank you for explaining everything you do. i've yet to start working on my small 3rd person game and your video really helped get some basic understanding!

  • @mrplaym9239
    @mrplaym9239 3 ปีที่แล้ว +3

    Thanks, this is really helpful cant wait for part 2 (:

  • @upyours2707
    @upyours2707 3 ปีที่แล้ว

    Great content! Very precise explainations.

  • @gamedev_byhobby8872
    @gamedev_byhobby8872 2 ปีที่แล้ว +26

    I've seen the whole 4-part series and succesfully implemented all you had to cover on it. It still holds up. After that, I've been porting it to Godot 4, so I'll leave a list of things I had to change for people in the future.
    1) Godot supports blend files now so you can skip the export tool and just import the untitled.blend after you setup the root motion
    2) export var and onready var are: *@export @onready* now, and you have to put its type at the end: *@export var anim_tree : AnimationTree*
    3) I couldn't get this line to work: *export(Nodepath) onready var anim_tree = get_node(anim_tree)*. I just split it in one export var and one onready var
    4) Move_and_slide doesn't take any parameters anymore. Just leave it as is but don't define velocity as a new var, use *self.velocity* which is a property of CharacterBody3D
    5) KinematicBody3D is now CharacterBody3D
    6) The way to travel to animations within the animation tree state machine changed. Now do: *anim_tree.get("parameters/playback).travel("Idle")* instead of *anim_tree["parameters/playback"].travel("Idle")
    7) This one: *anim_tree["parameters/Walking/TimeScale/scale"] = direction.length()* should now be: *anim_tree.set("parameters/Walk/Walking/TimeScale/scale", direction.length())* but I'm not entirely sure yet
    8) *var space_state = get_world().direct_space_state* changes to *var space_state = get_world_3d().direct_space_state*
    9) And intersect_ray doesn't accept to and from parameters, you have to construct a *PhisicsRayQueryParameters3D* object: *var params := PhisicsRayQueryParameters3D.new()* and do, *params.from = start*, ***params.to** = end* (as the variables in the video are calculated). Then you can do: *var collsion = space_state.intersect_ray(parameters)*
    10) Also, intersect ray now returns a dictionary so it's not *col.empty()*, it's *col.is_empty()*
    The rest of the tutorial is the same, except for the fact that you have to add a world environment and a light to even see your scene. If you have anything to add please tell me, I want to learn more about Godot 4

    • @Stoonk
      @Stoonk ปีที่แล้ว

      Is Godot 4 worth checking out? I've only hear questionable things about it and that godot 3 is still superior as a practical engine tool

    • @wehrwulf88
      @wehrwulf88 ปีที่แล้ว

      now I see the reason why my character was moving upwards instead of forward when I hit spacebar. I had to change a lot of lines because I am making this tutorial in august 2022 and using Godot 3.5 and it seems that there are many changes in the engine since 2020! thank you very much

    • @gamedev_byhobby8872
      @gamedev_byhobby8872 ปีที่แล้ว

      @@Stoonk It's definitely usable. I recommend to backup your files if you choose to upgrade, and even backup when upgrading from alpha to alpha since some of them can break your code and you mght want to roll back.
      I think we're close enough to the beta that you could reasonably switch. Even if it's not for your main project, you'll do good to make little ones to learn GDScript 2.0. And most important, learn all the little name changes they made to some functions and nodes.

    • @gamedev_byhobby8872
      @gamedev_byhobby8872 ปีที่แล้ว +1

      @@wehrwulf88 Yeah! 3.5 has a lot of back porting from Godot 4.0 so you should have to change a lot about it. Although as 3.5 is released and 4.0 is in alpha, you would have an easier time looking for solutions on 3.5. Glad I was able to help. If you make any significant changes feel free to leave a detailed comment so future people can solve their issues as well!

    • @Stoonk
      @Stoonk ปีที่แล้ว

      @@gamedev_byhobby8872 Ive never used Godot before, should I start with 4? Im currently going through gdquest, how different is the new gdscript?

  • @toddzircher6168
    @toddzircher6168 3 ปีที่แล้ว +2

    Just a tangent, I like your choice in games (based on that glimpse of your desktop.) :-)

  • @frozenfridge3943
    @frozenfridge3943 2 ปีที่แล้ว +1

    thank you for this, mixamo is great

  • @Gazaze
    @Gazaze 3 ปีที่แล้ว

    Thank you! This is exactly what I needed.
    To add more, the model imported with the plugin will have some meshes excluded in the current version.
    To solve this, you can try to download it directly from the Github page :D

  • @chrislenz
    @chrislenz 2 ปีที่แล้ว

    Thanks! This video was exactly what I needed!

  • @PotatoGodzilla
    @PotatoGodzilla 3 ปีที่แล้ว +5

    To anyone who cant move when you export the movement from mixamo dont export "In place" and his script will work fine.

  • @RedRamekRaze7
    @RedRamekRaze7 3 ปีที่แล้ว +2

    Thank you, there arent enough of these.

  • @DonatemangaCom
    @DonatemangaCom 2 ปีที่แล้ว

    Relly great tutorial! Many thanks!

  • @DoctorMandible
    @DoctorMandible 3 ปีที่แล้ว +12

    Perfect! Edit: I would change one small thing. The title doesn't tell people what you're showing off. Imho, you should mention that you're teaching 3D animation imports / controls. Will definitely help drive traffic.

    • @ChrisD__
      @ChrisD__ 3 ปีที่แล้ว

      @Forest Kingston So what you're trying to tell me is there a person named "Forrest Kingston" and he is definitely not a bot set up by a scammer.
      The title is definitely pretty misleading, i only needed the very end and start, but thought there was more in the video I needed to know.

  • @PiratesLordz
    @PiratesLordz 3 ปีที่แล้ว +2

    This is great! Keep up the good work!

  • @volayiwola15
    @volayiwola15 2 ปีที่แล้ว

    broo this is so helpful

  • @woosix7735
    @woosix7735 2 ปีที่แล้ว

    great tutorial! very consise

  • @aleksandersanya1817
    @aleksandersanya1817 2 ปีที่แล้ว

    Nice idea about data>src folders, I will use that, usually I just dropped everything into the same archive folder and it was a mess. Thanks

  • @javisartdesign
    @javisartdesign 3 ปีที่แล้ว +1

    thanks for the video! really interesting to see.

  • @Chevifier
    @Chevifier 3 ปีที่แล้ว

    I never knew about that .gdignore file thats definitely gonna come in handy

  • @Uradamus
    @Uradamus 2 ปีที่แล้ว +10

    It's great that you've shown a way to get animated characters in quickly and easily, but for those of us with no interest in Mixamo, are there any tutorials you can recommend for doing things the more traditional method? I've got no shortage of existing models and animations to use, and none of the first part of this tutorial is of any use to my situation unfortunately. There is a definite shortage of up-to-date Godot tutorials that thoroughly explain the 3D asset pipeline for artists.

    • @erich_l4644
      @erich_l4644 2 ปีที่แล้ว

      Update your comment if you find one m8.

  • @demetriusharris2169
    @demetriusharris2169 3 ปีที่แล้ว

    Thank you soooooooooooo much man

  • @ericfield775
    @ericfield775 ปีที่แล้ว

    Very usefull!

  • @lionkingmerlin
    @lionkingmerlin ปีที่แล้ว

    Thanks a lot

  • @joshuablackmon939
    @joshuablackmon939 3 ปีที่แล้ว

    Thank you

  • @Chevifier
    @Chevifier 3 ปีที่แล้ว +2

    Wow i was always scared of root motion i didnt realize it was that simple.

  • @PaulMetalhero
    @PaulMetalhero ปีที่แล้ว +2

    Your videos are amazing!
    I´m trying to follow your tutorial on Godot 4 beta 10
    It seems AnimationTree doesn´t return the Transform anymore, but I found this function get_root_motion_position (returns a Vector3). Is that the one I should use in the script?

  • @James_XXIY_crafts
    @James_XXIY_crafts 2 ปีที่แล้ว +1

    Please I beg of you, make a dedicated video called "how to use root Motion in Godot", for the sake of the community, you would be the first one to make that video and it is needed.

  • @aleksandersanya1817
    @aleksandersanya1817 2 ปีที่แล้ว

    For some reason, "Initialize character" button in Blender add-on importing just armature without mesh.
    edit: the problem was with specific mixamo character. Other character initializes fine.
    edit 2: most recent models, not from search, seem to work right.

  • @slimabob
    @slimabob 3 ปีที่แล้ว +2

    Thank you for the video! Something strange that I ran into was that my root motion was really slow. If I multiply the final velocity by 20 the character moves at a normal pace, but otherwise my character is very slow. Any idea why that might be? Thank you again for the great tutorial- very useful for someone making the switch from Unity to Godot!

    • @billycrooks8401
      @billycrooks8401 3 ปีที่แล้ว

      Are you doing it in physics_process function?

    • @Peas3D
      @Peas3D 2 ปีที่แล้ว

      Did you ever figure this out? I have to multiply the root_motion.origin by 2, but it makes the animation look very jank.

  • @Jondob
    @Jondob 3 ปีที่แล้ว

    woah, i really enjoyed this, loved it.
    small question, is it possible to, retarget animations, (knowing they use same rig, say humanoids), in godot?
    trying to get into 3D, and not much of a modeller/animator, so, reusing animations from bought from various asset shops into godot character would be well, simply massive, any ideas on that?, as merging all animations into one file, isn't always an option, especially, when reusing animations for multiple characters

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      I don't think there is a built-in system for doing retargeting in Godot. There might be alternative solutions in blender or using outside tools but I'm not familiar enough to recommend anything.

    • @Jondob
      @Jondob 3 ปีที่แล้ว

      ​@@Ombarus
      ah shame, to be fair, i can not ever consider godot over unity for 3D, without such tool, for me at least, it seems like, one of the most essential tools to have.
      hopefully it gets added in the future.

  • @aureliusz1983
    @aureliusz1983 ปีที่แล้ว +1

    Very good tutorial! Could you guide me (maybe make a tutorial) how to control, use rootMotion but in C #?

  • @masonsafavi1886
    @masonsafavi1886 3 ปีที่แล้ว

    Awesome

    • @masonsafavi1886
      @masonsafavi1886 3 ปีที่แล้ว

      Hey, is there any way to contact with you?
      cause I have some questions to ask and its kind of emergency for me.
      I will be grateful for your help.

  • @vitor8933
    @vitor8933 2 ปีที่แล้ว

    When I try to use the addon on mixamo characters that aren't the x or y bot their mesh is gone , is there a way to fix this?

  • @_Poshua
    @_Poshua ปีที่แล้ว +2

    When I press space, the idle animation just stops and the character doesn’t move

  • @javiercarrilesruisanchez3073
    @javiercarrilesruisanchez3073 2 ปีที่แล้ว

    anybody why when i loop a soft, at the end of my loop, my soft starts a half a soft early or late. makes it super frustrating

  • @RafaelSales55
    @RafaelSales55 3 ปีที่แล้ว

    My model from mixiamo brake in the last frame, as if the last frame and the first were duplicated.
    Can I fix this on godot?

  • @phantom6653
    @phantom6653 2 ปีที่แล้ว +1

    Followed your instructions to a T, and I get this "The function 'move_and_slide()' returns a value, but this value is never used". The animation plays, but the player never moves.

  • @manapotion1594
    @manapotion1594 2 ปีที่แล้ว

    Hi, nice series. I have a question: why do you divide by delta and not multiply? Also, it seems like camera on the 3rd part along with input handling player script uses camera position from the previous frame, and because of that the character moves with error over long time. Try to increase its speed to see.

    • @Ombarus
      @Ombarus  2 ปีที่แล้ว

      move_and_slide is a bit weird (to me). It will multiply by delta itself so you need to pass the velocity per second. So I divide the root motion because move_and_slide will multiply it again.

  • @the_oppa7v719
    @the_oppa7v719 ปีที่แล้ว

    What is the version of blender used?

  • @Maxi-nq9xn
    @Maxi-nq9xn 3 ปีที่แล้ว +1

    my move_and_slide function is not working the player isn't moving

  • @toby818
    @toby818 2 ปีที่แล้ว

    My models wont load in blender
    Should i have checked in place when downloading

  • @justcorbin.1596
    @justcorbin.1596 3 ปีที่แล้ว +7

    I can't seem to get the character to move. I more or less copied the code, I've got my character and environment set up, and I can get the character to walk in place like at 17:45. No errors are getting thrown, but I can't get it to move. Any idea what might be wrong?

    • @sun5et956
      @sun5et956 3 ปีที่แล้ว

      did you add the .travel command?

    • @filipjirasek5635
      @filipjirasek5635 3 ปีที่แล้ว +4

      I got the same problem

  • @Parsley3000
    @Parsley3000 ปีที่แล้ว +1

    Not sure if anyone else has had this issue, but have gone through the tutorial a few time & keep having an issue with my character moving up instead of forward? Code is the exact same (just before adding gravity & used same animations)

  • @9ghtx367
    @9ghtx367 ปีที่แล้ว

    Lil of off topic.
    It's fun sometimes to look at others desktop to see what they usually do or play. And I found Cataclysm DDA, omg, is it real that all gamers-programmers play this game? I really like it. Also found PDF on top left with all key binds, lol.

  • @Loic-57
    @Loic-57 2 ปีที่แล้ว

    Axcellent video! I don't know why, but it took me a long time to discover your youtube channel
    I would like to ask you a question, I should specify that I am a novice on Godot but that I know Blender well: is that on Godot there is a system which allows to retarget the animations of a character to place them on another model 3D easily and without using Blender?
    On Unity, for example, there is an automatic retarget system that works extremely well.

    • @Ombarus
      @Ombarus  2 ปีที่แล้ว

      I don't think there's a retargetting system in Godot right now. You can export animation ressources and re-use them on similar characters but I don't think it can do retargetting.

    • @MisterAlexOficial
      @MisterAlexOficial 2 ปีที่แล้ว

      @@Ombarus necesito este proyecto para cambiarle el personaje, ya que me está dando error tu tutorial

  • @isaacbunsen5833
    @isaacbunsen5833 2 ปีที่แล้ว +1

    It seems to cause a lot of trouble to adjust the root motion in godot. For example sometimes the character jolts backwards

    • @william383
      @william383 2 ปีที่แล้ว

      I have the same problem

  • @darthnegativehunter8659
    @darthnegativehunter8659 3 ปีที่แล้ว +4

    there is a problem. gravity is a acceleration. you should multiply it by delta before adding it to speed.

    • @hogandromgool2062
      @hogandromgool2062 ปีที่แล้ว

      If you read the script you create it says that delta is applied automatically to variables inside the body of the function.

    • @darthnegativehunter8659
      @darthnegativehunter8659 ปีที่แล้ว +1

      @@hogandromgool2062 there was no such thing in the script as far as i looked.
      what he actually was doing was adding a constant downward velocity to the normal one when character is not on floor. there was no acceleration.
      he should've multiplied gravity by delta before adding it. he should also use the return value of move and slide. also you don't use root motion with move_and_slide. because acceleration isn't compatible with root motion unless they are in perpendicular directions at ALL times.
      1- he should apply root motion directly with move_and_collide.
      2- he should store a global velocity.
      3- he should multiply delta by gravity before adding it to velocity
      4- he might want to assign the return value of move_and_slide back to velocity if he wishes to add other velocities to the game.

    • @hogandromgool2062
      @hogandromgool2062 ปีที่แล้ว

      @@darthnegativehunter8659 you're right. It's only in there because I have an addon that automatically manages delta times and I forgot about it.
      Is there any chance I could get you to write me a short movement scrip for a top down character not using root motion? I don't require it as top down the y translation isn't as noticable.
      I'm trying to build a diablo style top down game with the camera set to 60deg. Having some serious issues as python is my native language. I can't find a decent script to learn off anywhere. It seems you've built a few.
      I've only ever use python and Godot seems to use a custom dynamics language and python is pretty static. Struggling to get my head around the base structure of Godot without a decent reference that's not in video format.

  • @demetriusharris2169
    @demetriusharris2169 3 ปีที่แล้ว +1

    Dud GODOT NEED YOU ASAP try to summit this online to the forums

  • @oakmars8062
    @oakmars8062 ปีที่แล้ว

    total noob here , would this tutorial translate to godot 4 very well ?

  • @josiah8789
    @josiah8789 3 ปีที่แล้ว +3

    Great tutorial but I'm having trouble making the character move forward. Everything works so far except for that.

    • @lunar-divide
      @lunar-divide 2 ปีที่แล้ว

      You may double check if you've imported animation from ximamo without "in place" option. Because this tutorial uses motion from the animation itself (root motion)

  • @Chevifier
    @Chevifier 3 ปีที่แล้ว

    You couldve used a CSGContainer and the csg shapes as children to make out the test level and just enable collision on the container

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว +2

      I've had mixed results with the CSGContainer. I also like the idea of being able to quickly turn one of the box into a RigidBody and bounce it around too. In production the best solution would be to make a mockup of the level in blender and just import that I think.

  • @wiktorwektor123
    @wiktorwektor123 3 ปีที่แล้ว +1

    15:50 you can do something like this it will save you a lot of typing and double naming:
    export(NodePath) onready var animation_tree = get_node(animation_tree) as AnimationTree

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว +1

      Wow, that is very strange syntax. I'll have to try it out, thanks for the tip!

    • @DoctorMandible
      @DoctorMandible 3 ปีที่แล้ว

      @@Ombarus It's legit. Can confirm. I'd also consider adding: onready var playback : AnimationNodeStateMachinePlayback = anim_tree['parameters/playback']

    • @wiktorwektor123
      @wiktorwektor123 3 ปีที่แล้ว

      @@Ombarus You can use it also with resources, let's say you have some script:
      class_name MyCustomResource
      extends Resource
      ...
      You can use it in other resource or scene with typed gdscript code competition:
      export(Resource) var my_resource = my_resource as MyCustomResource

  • @gimong5537
    @gimong5537 3 ปีที่แล้ว +1

    Please help how do you loop the animation in godot because mine does the animation but stops in the last frame😭😭😭😭

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      In the animation player you should be able to change the animation to looping

  • @yashashwichaudhary5667
    @yashashwichaudhary5667 ปีที่แล้ว

    Anyone having errors while using GodotGameTools in blender, do note that this function will only work for Blender v3.0.1 and earlier.

  • @chantonyjuly8858
    @chantonyjuly8858 ปีที่แล้ว +2

    Hiii, I've followed every step and the animations work properly but the character always at the same place, there is animation but it does not move at all.

    • @chantonyjuly8858
      @chantonyjuly8858 ปีที่แล้ว

      AAHHH nevermind , the issue was the version between godot game tools and blender . Thank you for your tutorials !! Love uu

    • @alogicalgirloncesaid5140
      @alogicalgirloncesaid5140 ปีที่แล้ว

      @@chantonyjuly8858 what do you mean? i have the same problem

  • @ktostam3478
    @ktostam3478 3 ปีที่แล้ว

    Thanks for the video! The only thing I would change is that I would cut more of the very basic stuff - if someone already knows what an animation tree is and also understands accesing node's parameters, he probably knows that the gravity is an acceleration and it's nice to have a variable for it :)

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว +3

      I'm trying a different approach. I've had a lot of comments recently telling me I don't take enough time to explain things. I'm trying to find the right balance!

    • @ktostam3478
      @ktostam3478 3 ปีที่แล้ว

      @@Ombarus I have no problem going through the basics - the only thing that caught my attention was that the inconsistency between the animation and the coding part. But it's more of a minor issue and I just wanted to give some feedback. The video is still great.

    • @hogandromgool2062
      @hogandromgool2062 ปีที่แล้ว

      Being a beginners tutorial I don't think that would be a smart move. I've never used Godot before so ALL information is needed. When you're writing a tutorial for beginners you assume nobody has any clue what is going on. you assume their grasp on English is terrible also.

  • @maniksharma9736
    @maniksharma9736 3 ปีที่แล้ว

    We need more three 3 d tutorial....

  • @trey5718
    @trey5718 ปีที่แล้ว

    The plugin is broken and i can't export characters! :( it also dosen't seem to be importing the animations!

    • @mickaellouzet5608
      @mickaellouzet5608 ปีที่แล้ว

      Hey idk if you found a solution, but i also had trouble exporting, but it's just that I didn't have python, the numpy module installed. Now it works !

  • @jackeliot4497
    @jackeliot4497 ปีที่แล้ว +2

    I folllowed your tutorial and when I hit play my character still stayed in place instead of moving forward. I can hit spacebar and have the running animation play though.

  • @jacobellis2369
    @jacobellis2369 2 ปีที่แล้ว

    My character goes really slow and I believe my script is identical to yours. Anyone know what might be causing this?

    • @leolevinr
      @leolevinr 2 ปีที่แล้ว

      In case you didn't fix it, make sure the animations are in 30FPS, I had the same problem and it worked for me

  • @Darkest-Kn1ght
    @Darkest-Kn1ght 3 ปีที่แล้ว

    well I must have screwed up somewhere, because my animations do not loop. I press my walk key and it takes a couple of steps playing through the animation and then comes to a standstill. Any way to fix this or do I need to go back to mixamo and download the animations again with looping on? Thank you for the video though, great walk through and introduction to say the least!!

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      Normally they should already be set to looping in the AnimationPlayer but if they are not you can just check the little "looping" icon for each animation that need looping in the AnimationPlayer that was imported with the model (if you don't see it you need to right-click on the model and check "editable children").

    • @Darkest-Kn1ght
      @Darkest-Kn1ght 3 ปีที่แล้ว

      @@Ombarus I went back to the original AnimationPlayer that was imported with the model and went to the idle, walking, and running animations and turned the looping "on" in the far right corner above the skeleton for all three, however, this did not change anything unfortunately. I'll try restarting godot to see if this resets anything.

    • @Darkest-Kn1ght
      @Darkest-Kn1ght 3 ปีที่แล้ว

      @@Ombarus After restarting godot and pulling the project up, the animations are no longer set for looping, even though I saved with control-s after I implemented each change for each animation.

    • @Darkest-Kn1ght
      @Darkest-Kn1ght 3 ปีที่แล้ว

      @@Ombarus Well I redid the entire project, brought the gltf file, opened editable children, set idle, run, and walk all to loop before even creating the AnimationTree, but it still only goes through just one cycle of the animation movements. I'm going to go back to mixamo and see if I can download the animations yet again because when I close the project and open it back up, the loop button is no longer active.

    • @LordEsspresso
      @LordEsspresso 3 ปีที่แล้ว

      @@Darkest-Kn1ght Don't know if you're still struggling with this, but I found a sloution for this problem. First delete the player node from the main scene, deactivate the animationtree in the player scene, save both scenes, restart Godot, open the player scene, apply the looping on the animations, reactivate the animationtree, save the scene, and lastly add the player scene to the main scene.

  • @rogeriocastro2604
    @rogeriocastro2604 3 ปีที่แล้ว +1

    When I press key bar, it doesn' t move. It stay in the same place and I do everything you do. How to make it move? I'm from Brazil sorry for my english.

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว +1

      Sounds like you did not setup the root motion properly

    • @rogeriocastro2604
      @rogeriocastro2604 3 ปีที่แล้ว

      @@Ombarus Thank you very much for answering me. This series of tutorials was all I needed to create a 3D character. About your answer, I'll check my code and watch the whole series again to see where my error is. Thank you one more time! :)

  • @tregames9732
    @tregames9732 3 ปีที่แล้ว

    extends KinematicBody
    export (NodePath) var animationtree
    onready var _anim_tree = get_node(animationtree)
    func _physics_process(delta):
    if Input.is_action_pressed("ui_select"):
    _anim_tree("parameters/playback").travel("Running")
    else:
    _anim_tree("parameters/playback").travel("Idle")
    it says the method "_anim_tree" isn't declared in the class
    for this line
    _anim_tree("parameters/playback").travel("Running")
    any ideas on how to help?
    built-in:9 - Parse Error: The method "_anim_tree" isn't declared in the current class.
    that's in my output

    • @r_v3796
      @r_v3796 2 ปีที่แล้ว +1

      ["parameters/playback"] not ("parameters/playback")

  • @UnrealProjects
    @UnrealProjects 2 ปีที่แล้ว

    Does the blender plugin support latest blender version? 2.93.5

    • @Ombarus
      @Ombarus  2 ปีที่แล้ว +1

      I tried it recently and it seemed to work. If the models aren't exactly the standard Mixamo setup it might struggle though.

    • @UnrealProjects
      @UnrealProjects 2 ปีที่แล้ว

      @@Ombarus ....ok, in the video where you make a new scene for player itself, is that saved in same project folder? What's the purpose of making a new scene for player and not in same main scene?

  • @monyettenyom2540
    @monyettenyom2540 2 ปีที่แล้ว

    Hey, I followed your instructions and Codes exactly like you did. The paths on scene are exactly like the one you got. But I got "Invalid get Index 'parameters/playback' (on base: null instance)" and error "Attempt to call Funktion 'get_root_motion_transform' in base 'null instance' on a null instance". What should I do?

    • @Ombarus
      @Ombarus  2 ปีที่แล้ว +1

      null instance usually mean you didn't set the node reference

    • @monyettenyom2540
      @monyettenyom2540 2 ปีที่แล้ว

      @@Ombarus thanks for the reply 🙂

    • @hogandromgool2062
      @hogandromgool2062 ปีที่แล้ว

      @@Ombarus For me it was the difference between var and onready var

    • @hogandromgool2062
      @hogandromgool2062 ปีที่แล้ว

      @@Ombarus I believe things have changed since this tutorial as I had to read the documentation and change a few things. onready vars must be used now for lookups in parameters

  • @isismassielmoscolzelaya5555
    @isismassielmoscolzelaya5555 2 ปีที่แล้ว

    Did you try putting it in rice?

  • @Sharal3D
    @Sharal3D ปีที่แล้ว

    doesnt work inlatestblender

  • @Maxi-nq9xn
    @Maxi-nq9xn 3 ปีที่แล้ว

    i could not add the add on in blender it just did nothing after i clicked install add on any help?

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      Make sure you have the addon that matches the current version of Blender

    • @Maxi-nq9xn
      @Maxi-nq9xn 3 ปีที่แล้ว

      @@Ombarus ok thanks didnt think about that

  • @giorgioguglielmone6528
    @giorgioguglielmone6528 3 ปีที่แล้ว

    With Blender version 2.93.1 it is not possible to load the GGT addon. How can I do ?

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      You might need to use an earlier version of Blender until the addon is updated. I'm not sure which version the addon uses right now

    • @giorgioguglielmone6528
      @giorgioguglielmone6528 2 ปีที่แล้ว

      @@Ombarus I found out how to do it with version 2.93. This involves using a zip (in Blender Addons inside the GGT zipped file

  • @Sharkistas
    @Sharkistas 3 ปีที่แล้ว

    I'm getting: "Attempt to call funciton 'get_root_motion_transform' in base 'null instance' on a null instance."
    Help pleeeaasee!!

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      Look at the line where the error is... whatever you are trying to call "get_root_motion_transform" on is not a valid node

    • @Sharkistas
      @Sharkistas 3 ปีที่แล้ว

      @@Ombarus hmm.I'll try to work it out and get back to you. Thanks!

  • @str7art
    @str7art ปีที่แล้ว +1

    Hello! I have a problem, my character go to up, but I write code look like YOU! Please help me))

    • @donnarieixlucien5212
      @donnarieixlucien5212 ปีที่แล้ว

      I have the same issue did u fixed it ?

    • @str7art
      @str7art ปีที่แล้ว

      ​@@donnarieixlucien5212 no, I change code like if Input.is_action_pressed("FORWARD"):
      direction.z += 1
      if direction.z >= Speed:
      direction.z = Speed
      _anim_tree["parameters/playback"].travel("Walking")

    • @donnarieixlucien5212
      @donnarieixlucien5212 ปีที่แล้ว

      @@str7art i maid the same but i'm still searching the cause of this issue...

    • @str7art
      @str7art ปีที่แล้ว

      @@donnarieixlucien5212 transfer not the whole vector but only Y instead of Z

  • @brownish-fox3194
    @brownish-fox3194 2 ปีที่แล้ว +1

    when I press "add root motion" in blender I get a python error :(

    • @siyabonga.fortune
      @siyabonga.fortune 2 ปีที่แล้ว

      the add-on is fixed now!
      download Here: github.com/rena-souza/godot-game-tools/releases/tag/v2.0.0

    • @thomasparker7305
      @thomasparker7305 2 ปีที่แล้ว

      I used this and it works but part of the model is missing when I initialize character. Has any one else had that happen to them?

    • @siyabonga.fortune
      @siyabonga.fortune 2 ปีที่แล้ว

      @@thomasparker7305 some characters don't have the skin(or some is missing) and others the animations don't work well, you just gotta find a character that works and work with that

    • @thomasparker7305
      @thomasparker7305 2 ปีที่แล้ว

      @@siyabonga.fortune when I imported the same character in with out using the tool it has the correct textures though. So it's not the model

    • @siyabonga.fortune
      @siyabonga.fortune 2 ปีที่แล้ว

      @@thomasparker7305 yah, it happens when using the tool mostly, so it can't render all characters correctly

  • @ramakrishnamishra8179
    @ramakrishnamishra8179 2 ปีที่แล้ว

    Wow! Dig that monitor! please tell me the model number

    • @Ombarus
      @Ombarus  2 ปีที่แล้ว +1

      Sharp Aquos 720p TV... I really needed a second screen, no matter what! If you look at my latest videos you might notice I've since upgraded :)

    • @ramakrishnamishra8179
      @ramakrishnamishra8179 2 ปีที่แล้ว

      @@Ombarus thanks 👍

  • @ejoojoo
    @ejoojoo 3 ปีที่แล้ว +1

    You can reference your AnimationTree just by doing
    onready var _anim_tree = $AnimationTree
    the Editor's intellisense should appear and show all accessible nodes that is the children of the script once you type in $
    Also, check out the mixamo combiner, it's useful too th-cam.com/video/su8KURZ6vRc/w-d-xo.html

    • @MrHermesTrismegistus
      @MrHermesTrismegistus 2 ปีที่แล้ว

      Thank you, the method used in the tutorial didnt work for me. Using _anim_tree = $AnimationTree solved it for me.

  • @abdullahhaider6889
    @abdullahhaider6889 3 ปีที่แล้ว

    why cant i get the tools??

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      Are you talking about Godot Game Tool? It should be easy to download here : viniguerrero.itch.io/godot-game-tools

    • @abdullahhaider6889
      @abdullahhaider6889 3 ปีที่แล้ว

      @@Ombarus no what I mean is when i install it to add on's it does not show up

  • @galacticengineer588
    @galacticengineer588 ปีที่แล้ว +1

    AhA! So, on the off chance someone is as stupid as me: When you download the Gadot Game Tools file from viniguerro, LEAVE it in its ZIP form. Don't unzip it. (:

  • @o74769
    @o74769 3 ปีที่แล้ว

    I think il have to look at another tutorial before i get to this part. u make it look easy, but i know its not.

    • @Ombarus
      @Ombarus  3 ปีที่แล้ว

      It's not made to be an absolute beginner series. If you're not familiar with programming or gamedev in general you might want to check out stuff from GDQuest they do a really great job with Godot

    • @o74769
      @o74769 2 ปีที่แล้ว

      @@Ombarus Il give it a try. I have experience making maps and how things work, but 0 knowledge in codding.

  • @saqibali-ku4hr
    @saqibali-ku4hr 2 ปีที่แล้ว

    I hope it didn't explode

  • @romanmarkov
    @romanmarkov 2 ปีที่แล้ว +1

    This series has too many problems. Ombarus should provide a troubleshooting list to make it better.

  • @keshavkart
    @keshavkart 3 ปีที่แล้ว

    This is not scratch cooding

  • @donnarieixlucien5212
    @donnarieixlucien5212 ปีที่แล้ว

    Hi ! I have a problem... My character goes upward istead of forward can somebody help me ? I have the same code as @Ombarus. The issue probably come to the import but idk what have i done wrong...
    PS : Si tu lis ce commentaire @Ombarus sache que moi aussi je suis français donc une traduction de ta réponse pourrais m'aider ;)