Very informative, thank you. If anyone is following this using c# you may want to know. `Basis = Basis.Slerp(endBasis.Orthonormalized(), speed * (float)delta).Orthonormalized();` and `Position = Position.Lerp(Position + Basis.Y * heightDiff, speed * (float)delta);`
@mikailcf Жыл бұрын
Man, your tutorials are on another level. You cover some advanced stuff that can add such polish to projects, and all explained in a simple way. Eager to see what comes next from you.
@ChrisD__ Жыл бұрын
2:38 I love how everything just stops, everything goes silent, and the the little robot just does a little dance. :3
@TranquilMarmot7 ай бұрын
Heads up that SkeletonIK3D is marked as deprecated and will be replaced with something else in the future! Just letting you know so you can look forward to redoing this tutorial again 😂
@mr.hashundredsofprivatepla37117 ай бұрын
0:49 Crigz knows that
@GeekzAnonymous8 ай бұрын
Any news on why SkeletonIK3D is current marked as Deprecated?
@mr.hashundredsofprivatepla37117 ай бұрын
Take this with a grain of salt, but I’ve heard that SkeletonIK3D is gonna be replaced with something new soon.
@andguy3 ай бұрын
@@mr.hashundredsofprivatepla3711do you know if its been replaced yet? Or if theres been any more news on this?
@Geskawary234Ай бұрын
@@andguy probably in godot 4.4-4.5. Hopefully it will make animation like this easier
@fatsumo13 күн бұрын
kinda wild they just remove stuff without adding a replacement for the feature removed- i'm not even working in 3d, but things like making a pixel perfect smoothed camera, several tilemap features... they just.. poof! and haven't been in the engine for like a year+
@industrialdonut768111 ай бұрын
Thank you for this gold, I invested many hours trying to do something like this on a humanoid previously and ultimately did not really get the result I wanted. You've inspired me to try again, and I really think that your method of using tweens to get the halfway stepping-over effect makes it WAY simpler to do what I need to do now...
@Gredran Жыл бұрын
You’re amazing! Thanks for all your videos! This one’s gonna be super fun! I’m definitely gonna be going further with this base and messing around with different walking things and see what I can do with this 😁
@crigz Жыл бұрын
Keep me posted on how you get on!
@Gredran Жыл бұрын
@@crigz for sure! May be a little bit but I was probably gonna experiment with a mixamo rig, and my own basic character rigs, to see if I can get them going. Well maybe not mixamo, but maybe I’ll give it a try just for the people who are aren’t too great and rigging, it would just need IKs added in since the mixamo rigs don’t come with them 🤔 But I know you know how much time it can take lmao. I’ll let you know if I need a few pointers if I get stuck haha But I’ll see what I can do and maybe post it for others and credit you of course! I’ll say I used your system as a base and hopefully explain how to apply it to other humanoid characters 😊
@qevnine8923 Жыл бұрын
fella your channel is a real treasure
@thegamedevclub Жыл бұрын
Really cool video! Just a little annotation for those who could get problems using this for their projects: if you set turn_speed too high you might get problems as temporarily the position of the adjacent legs switches -> the points for calculating the planes are not in clockwise order anymore -> normal is pointing into the ground -> weird behaviour. So keep this in mind ;)
@lethn2929 Жыл бұрын
The quality of Godot 4 tutorial videos coming out has been fantastic along with all of the mechanics we can make and play with now, thanks for this! Been wondering about Godot's compatability for procedural animation.
@NihongoWakannai Жыл бұрын
at 3:22 the rays are children of the targets, at 3:33 suddenly the targets are children of the rays 6:15 this script is frame-rate dependent, and since i had vsync off with 1200 FPS it was not working well at all
@Sethbeastalan6 ай бұрын
For the frame rate dependent issue, replace vector with vector.normalized(). This means you have to change the magnitude of the offset to compensate, I find 1.5 works pretty well. You'll probably get a "Basis must be normalized" error if you do this. If so, the solution for that error is explained in issue #3 on the github repository.
@lukky. Жыл бұрын
Love seeing your editing and gamedev skills improve every video :) great stuff !
@nikolastanojevic60822 ай бұрын
In 4.3 works like a charm. Thank you.
@JorgeRosa Жыл бұрын
This is something really impressive! - Well done, Crigz! 👍
@EngineerNick Жыл бұрын
Omg so cool thanks for the video :) If you do another one you gotta put some springyness in the body height calculation to give it some bounce :)
@crigz Жыл бұрын
Yeah I think just adding a multiplier to the distance in the height offset calculation and reducing the lerp speed could make the effect more pronounced. Or even forgoing the lerp and using a tween with a bounce easing could work. Something I'll play about with when I come to use this in a game.
@darknetworld Жыл бұрын
Wow that a lot work and coding. Great work on improving on the spider. I did work on base on old video that found and had to look for refs videos. I wonder if the cat or dog workable for this? But guessing the sit and walk target and magnet will be effected or change position.
@crigz Жыл бұрын
It should work, you'd probably have to tweak the magnets as you said, and also play about with the tweening of the IKTarget's more to get the walking to feel more natural.
@tangypop2 ай бұрын
Thanks for explaining how to use the IK classes in Godot. I've used the SkeletonIK3D class for leg and arm animations while driving (steering wheel, pedals, gear shifter animations). It might just be my computer, has an older CPU and GPU is GTX 1080, but the performance of IK in Godot seems not great. I'm using the chains just to position the legs and arms, so the hand and foot rotation are excluded and are still manually rotated. Leg chains have 3 bones and arms have 4 (shoulder to wrist placement basically). I even have it set to 1 for max iterations. I put a toggle in my game settings menu to turn on/off IK and while off gets 60FPS (I have max FPS to 60) and while on drops to ~40FPS. Other than the performance hit the animations look believable with the appropriate magnet values. But for me I might have to go back to manual positions/rotations of bones for animations. The only thing I can think of is the chains have too many bones, but 3 or 4 don't seem unreasonable. And the scale of my model in game is 0.01 so maybe there's some weird math going on but I'd hope the IK algo doesn't increment by a set small amount while finding the solutions. Anyone else have such a big performance hit with the IK stuff in Godot?
@Algardraug Жыл бұрын
This channel is a gold mine, keep it up! Will check out twitch as well!
@RaveYoda Жыл бұрын
Absolute Godsend as I'm on 4.0.2 and didn't see settings mentioned in the prior video you had done.
@theyellowarchitect4504 Жыл бұрын
Enemies which climb on walls instead of fighting on the same ground level as you, are fun because they are so unique. Especially if you play as such an entity! Thank you for this video.
@gooficat8 ай бұрын
tip: you don't have to rotate the raycasts to the right angle: you can just move them up and inward then, change their targets to down and outward
@jakepeters4337 Жыл бұрын
Exactly the kind of tutorials I'm looking for, thanks!
@CreatureNZ1 Жыл бұрын
Mate if you keep cranking out videos like this, your subscriber count is going to explode, all this information in under 10 mins, pure gold
@HueStudios-i5e2 ай бұрын
For people that can't seem to get the SkeletonIK3D to work in editor but work in game - with SkeletonIK3D there's Play IK option on top of the editor, you need to have that checked if you want to see updates in the editor. I don't know why it was disabled for me by default.
@斉也吉見3 ай бұрын
Thank you for Japanese subtitles. Those translations are native level of accuracy and huge help. You save my life a lot.
@eziowayne4 ай бұрын
This tutorial is absolutely gold! Thanks so much!
@rot_studios Жыл бұрын
I really needed a GD4 tutorial on IK like this, thank you!
@dmas77497 ай бұрын
protip; you can edit multiple values by selecting multiple nodes as long as they're the same type, no need to set up each offset individually
@magmatri-studios Жыл бұрын
Yes finally! This and inverse kinematic has always been something I wanted to do in Godoy but I was unable to figure out in 3.X!
@DevLogLogan Жыл бұрын
Top shelf stuff as always, Crigz! ^^
@FrizyOficial Жыл бұрын
i`ve been searching for this tutorial in unity for months and i just found it when i switched from unity to godot 4
@retzerR Жыл бұрын
2D? Awesome video regardless. This is why Godot is my favourite engine (plus Linux support)
@Brr0nzy3 күн бұрын
thank you so much! i have to edit a little sadly because mine keeps just going through 90 degree walls but ill get there I hope
@AgnisNeZvers Жыл бұрын
Oh, this is a killer video! I was thinking to do some experimenting but you just showed an amazing solution.
@qubitx64 Жыл бұрын
This is pure gold
@Stevegvg1 Жыл бұрын
Cool video! Do you have in mind to make a tutorial about dismemberment function with procedural animations? Like, of you shoot the leg of the spider character It Will loose his leg and the animation Will change (and also the movement system)
@shippous4 ай бұрын
I guess you could change the target's position dynamically to compensate the leg that was taken. Like it's trying to balnace itself somehow.
@gamedev4032 Жыл бұрын
Really cool, thank you for the tutorial!
@LMNT-Kitchen Жыл бұрын
That's a great tutorial! I am new to Godot and i got a question: Is there a reason why you just used a Node3D and not a CharacterBody3D or RigidBody3D? And, would you use them if the Robot should interact with the World a little more?
@crigz Жыл бұрын
Welcome to Godot! The reason I went with Node3D was just to keep things a bit simpler for the video. You could absolutely use CharacterBody3D or RigidBody3D to add physics interactions.
@leosuttner45628 ай бұрын
When i would make a new model for the spider how could i put it in the inherited Scene?
@nanob0zo9 ай бұрын
pure gold - thanks!
@AncientSionX Жыл бұрын
Holy crap that is amazing. Fucking beast.
@Srcsqwrn9 ай бұрын
I'm going to use another tutorial to try to get my rig set up, and then try to interpret this tutorial but for a biped. I hope it all works out!
@stingly142 Жыл бұрын
This is so cool - I want to try something like this!
@youdungoofed1 Жыл бұрын
This gives me a cool idea for a game involving insects/bugs.
@dcaucett Жыл бұрын
Really great tutorial again, thanks for explaining it so well. Keep up the great work.
@jRsqILVOY11 ай бұрын
Your tutorials are the best!
@capt.firulais559910 ай бұрын
Heya! A bit late, don't even know if this'll be seen, but does anyone know how to make this work with navigation? I'm working on a small game and want to use the movement this video shows us to make, but i want to make it an automatic enemy, not controlled by the player, can anyone help out?
@paigepolaris17993 ай бұрын
Did you end up finding a solution to this? From what I'm understanding, Godot won't bake walls and ceilings (you can maybe get them by changing the 'UP' direction in the project settings, but then you can't bake the ground), so I've been using imported navmeshes. I can get it to move up walls, but only when the entire navmesh is one 'island'... It won't go across multiple NavigationRegion3D nodes without NavigationLink3D nodes placed all over the place (which gets messy if your level isn't all one mesh) or with 'Edge Connections' when the 'NagivationServer3D is active,' which I can't wrap my head around since there's so few tutorials about it.
@AdamCHowell Жыл бұрын
Looks amazing. Got to try and find time to build this today.
@FriskDreemurr666694 ай бұрын
why is it that 2 out of 3 times ive followed this tutorial the rotation doesnt work
@MM-24 Жыл бұрын
This is an amazing tutorial - I've watched it a few times now. Thank you for posting this for the community Do you mind sharing the blender file?
@@crigz thank you sir, extremely helpful as im looking to tackle some simple rigging as well
@MM-24 Жыл бұрын
@@crigz Been looking to replicate this setup for a robot arm - how important are the constraints and the IK setup you have in Blender? Does that get translated to Godot at all?
@crigz Жыл бұрын
@@MM-24 The IK Constraints themselves aren't important as they don't come across from blender, however I did make use of the IK constraint bones to act as the tips in the Godot IK chains.
@MM-24 Жыл бұрын
@Crigz Vs Game Dev yep, ok totally understood, and I remember where you called that out in the video. Thank you for the clarity....How did you figure this stuff out?
@lukevost Жыл бұрын
Great tutorial ! Huge thanks! 💜☺
@tobekko Жыл бұрын
I tried applying this to a spider model I had made with 8 legs and I think I messed something up along the way, but I'll keep messing with it damn it! Good tutorial!
@tobekko Жыл бұрын
Ok I managed to figure out my issue somewhat, the raycasts would just fly away so I set an if statement to check they didn't fly away too far. It kind of works.
@paolinsky_minis Жыл бұрын
Awesome tutorial dude.
@katarsis6541 Жыл бұрын
Great tutorial, thanks
@Siberiius Жыл бұрын
OMG, best tuto ever :o
@SamuTheFrog4 ай бұрын
This shit is so cool dude. Thank you for this
@jena_thornwyrd Жыл бұрын
Thanks you ! Even if I don't plan to make a game like that, it was very informative !
@shivansh6295 Жыл бұрын
Bro can you make full Godot 3d zero to pro tutorial in 1 video because many things are new in Godot 4 And i want learn Godot 4 fast as i can
@sarused9 ай бұрын
Are there any project settings involved to get the IK skeleton working? If I import your project, the spider works without issue, but when I apply the same method to my characters skeleton, it's unresponsive to moving the marker.
@hom79989 ай бұрын
I had the same issue in 4.1, I tried following along on my own model but whenever I spawn him in his legs just go to where he started
@RSSpeacemaker7 ай бұрын
Hello! Firstly thank you so much for this tutorial! This overview was fantastic! I've implemented your workflow into my project and noticed that the performance, while normally quite good in any other circumstance, really tanks when having multiple entities with the same duplicate procedural animation. Have you by any chance found a fix for this?
@orwinsen45103 күн бұрын
where did you fins this sky texture ist amazing
@panagosuАй бұрын
I am trying to now combine this logic with CharacterBody nodes by having my root node be a CharacterBody3D node instead of a generic Node3D. I also went ahead and put collision shapes for every bone. My problem is the leg collision shapes mess with the inverse kinematics, leading to unnatural solutions to the IK solver. Anyone on the same boat?
@thfrussia67176 ай бұрын
Cool but if we extend this to the reality the spider still needs to be affected by the gravity. Even if it can climb walls. It will not be like his legs adapt to his movement but his legs support and cause his movement which is absolutely different.
@VixenteEs Жыл бұрын
Nice tutorial, very detailed. Thank you. 👌
@mirtir4728 ай бұрын
would it be possible to make something like that for a biped (human) i would like to have that kind of movement to a human character
@cammiescorner4 ай бұрын
there's a part of me that is tempted to follow this and turn it into a little stealth game demo
@mirrorizen9 ай бұрын
this is so cool thank you
@rredenvous3 ай бұрын
Hell, i tried to do the same you did but like nothing worked ok. It's a sign to learn more :(
@adamthefirst40124 күн бұрын
Cool but legs keep getting stuck behind, pulling down the spider. I guess the movement of the spider is to fast for the legs to hit their target in time to let the other legs _step but I don't want to increase the legs movement speed. Is there an way to fix this?
@PhosphoCat2 ай бұрын
Quite late, but do you think you'll make a 4.3 version? There's quite a few issues that arise when using 4.3 even if you try it out on your own tutorial project that you provided but I have a feeling you'd rather wait until the SkeletonIK3D node gets updated to make another updated tutorial.
@Mrtargi10 ай бұрын
Cool! I've copied all your realisation, but my bot is usually go through textures, I've uploaded your coded and there are the same problem. I'm using godot 4.2.1 for now😮
@samuraikina5908 Жыл бұрын
Nicely done 🤙
@coloneljcd60417 ай бұрын
Good stuff!
@randomd00d1910 ай бұрын
Are there anyways of doing this without raycasting 1 time per leg? If I wanted a few dozen of these little guys running around my scene, it would tank performance.
@SamuTheFrog4 ай бұрын
Not really. Any other options I can think of would be just as bad if not worse for performance. I'd say this is one of the better ways to go. Perhaps you can set up occlusion & screen space detection so the anims/raycasts disable when not seen, otherwise, I got nothin.
@KaletheQuick Жыл бұрын
I heard they are depreciating the IK stuff built into Godot. Anyone know what's up with that? If they have a replacement lined up?
@codewithmax Жыл бұрын
Very good, thanks for this!
@AyoGodot Жыл бұрын
Finally The video we have all been waiting for
@TheSlimHim6 ай бұрын
I've been looking around, does anyone know if 4.2.1 has a replacement for SkeletonIK3D? The docs mention its depreciated but not of a replacement.
@MrAleksander597 ай бұрын
I'm doing but spider legs doesn't touching floor. Yes, they moving and step() is calling but something with all this target, rays and points shifting it up from actual hit_target.
@MrAleksander597 ай бұрын
Oh, i solved it: I forgot to check "Use collision" for CSGBoxes.
@GoblinArmyInYourWalls Жыл бұрын
I remember your channel having more videos, what happened?
@mch43856 Жыл бұрын
Amazing tutorial!!!
@Duodecimus-gz5fw7 ай бұрын
Would you have any advice on how to deal with walking off an edge? I.E. the bot walks to the edge of a large cube with a 90 degree angle cliff. As is the code can't deal with that, the raycasts stop triggering step updates, the feet bunch up and things get weird as the planes turn into lines. I'm currently thinking that I add a dummy target to the end of the raycast below the bot, and use that target if nothing is actually hit. assuming it isn't too far away, it should cause the main body to pivot enough to find the actual ground again.
@danielgrizzlus395011 ай бұрын
I am interested in procedural animation of models on runtime, with various skeleton morphologies. I am wondering if this can be applicable to it? Can I translate this approach to a generated mesh with a skeleton on runtime, and will it look natural regardless of positions and number of limbs?
@FriskDreemurr666695 ай бұрын
2:46 my spider turned into a frog
@Artriix_ Жыл бұрын
please help!! My 3d model in blender moves without a problem with this technique but in godot it deforms me
@internettrash009 ай бұрын
The problem i face is. I'm making biped human. So they can't climb wall. But when i added gravity, they just go through floor. I thought the problem might be collision. But even after added collision, it's still fck up. I'll do more research. But the video dis help me a lot.
@tricplay Жыл бұрын
Me trying out this Tutorial: Step-Target what are doing?!
@dootydut10 ай бұрын
2:57 - Saving this for later
@GeneralChrisGaming6 ай бұрын
Me: looking for how to get my characters to face the direction theyre moving KZbin: want to see how to make a spider Me: glad you asked!!😂
@JaXuun Жыл бұрын
this guy is too smart
@OxBowR3411 ай бұрын
i have issue when spider bot is walk through the wall instead of climbing it, any solution for that?, i'm using godot 4.1 btw and thanks for very awesome tutorial
@fenlig9 ай бұрын
Do you know how to lock some of the bones so they only rotate on one axis?
@mōellctie Жыл бұрын
Hey can you remake tutorial on pathfinding in godot 4.0.1 please.
@cholasimmons9 ай бұрын
i wonder who out there has used this technique on a humanoid player (I'm hinting at you Crigz Vs Game Dev)
@arturertelАй бұрын
I tried to recreate it in 2D, but I haven't succeeded yet. will there also be a 2D tutorial? (something in the direction of Rainworld?)
@hamtown47577 ай бұрын
Hey, im doing this as a biped and im getting a weird issue where my models legs direction acts like a magnet to its base position, if its not near the original position it was spawned in it will just float off into a random direction, does anyone have a solution to the problem? i am new to this and it has me stumped.
@felfar1974 ай бұрын
thank you!!!
@undefined879 Жыл бұрын
What about humanoid characters?
@pour_understanding4 ай бұрын
Trying to follow along in 4.1 but the SkeletonIK3d is very broken already. :( Interestingly, the bot in your git repo is playable ~ until I inspect any of the leg components. They break immediately without me even moving them.
@_ByteBlaze_4 ай бұрын
4.2 does a decent job with IK. You have to add your IK to within the Skeleton3D, and make sure editable children is on. Also, one change that everyone should make which isn't outlined in the tutorial is that the Raycast3D should go onto another local node, and use the other local node that the tutorial puts it under as your reference node for the global. So basically, do it exactly as it is via the scripts and reference assignment, but when you do your hierarchy, don't put the Raycast under that local feet (put it under another dedicated object that sits in the same position) because otherwise what happens is if you go off an edge, like off the map or jumping, etc, the raycast will get stuck at the last spot it was able to connect with, and you won't be able to get it back to its original spot easily. With my proposed change, you can distance check the two local nodes, and if they are too far away, you can teleport it back to where it should be, and that will keep the system functional when there is no ground under you
@imranbm Жыл бұрын
Talking about animations, is it possible to implement a similar animating style to mw 2019 inside of Godot?