Very interesting! Personally I think this is a good tutorial. Showing code will just lead to copying and pasting, if you're 100% in need of that then subjects like these are already a bit out of your grasp yet. Once you get enough experience you start thinking like "Alright, I could use this function to move the legs, and use raycasts to get blabla" at each step. Tutorials are meant to lift each other up difficult parts, not just show exactly what you need to do to create something that might only work in one enviroment. Nice tutorial!
Yeah i love videos like this that doesnt challenge our intelligence we all know what raycasting is and how to check distance. All this video does is guide us in what to do with that knowledge.
As minimalist as it is, this might be the most helpful tutorial I've ever seen for something like this. Everything is so clear and concise; I love it. Thank you for making this!
I seriously admire these kinds of tutorials. I'm not a great coder myself, but I seriously dislike watching someone else write out the code in the video and have it lead to me just copying and pasting without understanding what I'm doing. The trial and error that comes after watching these sorts of videos always feels like it promotes more learning. Thanks for the short video and keep it up!
That is a good point, I've noticed people asking for code on my own channel and on other channels, and that definitely isn't learning. As someone who is still struggling with the basics where do you start? (I don't even understand a c# boolean admittedly. My flashlight script is actually two scripts, one deactivates the light object and one activates the light object)
@@aminoshift1158 you could instead of deactivating the gameObject, deactivate the component that way you wouldn't need to reactivate the gameObject from a different source Also you can use something similar to this obviously this is very rudimentary and will most likely have syntax errors but it conveys the message i think. If(Input.GetKey("up") && lightBool == true) { lightBool = false; } Else { lightBool = true }
@@majorBearsky not at all! Though I will admit I still haven't learned how to work kinematics I have found simpler ways of animating characters and just built around my skillset, while also brushing up on some coding.
This was a very nice video! It's not limited to unity and easy to follow! Showing the main concepts of something instead of showing exactly how to do it is much better for learning imo! We need more tutorials like this!
This is... one of the best tutorials for anything I've ever seen. To the point. Shows the steps in principles rather than just code.. My mind is blown at how good this format is.
I figured out a lot of the stuff in this video a few years back through my own experimentation (minus moving the body based on the leg positions, but also including handling rotational velocity and eventually adding a rudimentary reset "animation"). It took me several days to figure out this stuff that you summed up so neatly in about 60 seconds.
For years now I've been begging to have a tutorial structure for UA-cam tutorials that actually engage the viewer in the lesson, and this is PERFECT. As soon as you realize that all of the steps are quite simple, it's up to the viewer to decide how to make each step work, allowing them to exercise problem-solving, and the ability to apply this to their own projects, and not make an entirely new project to try it out.
My confusion was raising the foot up and down timed correctly. The solution is spherical interpolation, or Slerp. Basically, it moves one Vector3 value to another, but it does it spherically, meaning that it makes a round trip to the destination.
For anyone that got stuck at step 3-4 at raycast downward: dont forget your indicator red sphere set to "ignore raycast" layer if you dont set sphere to that layer, your ball constantly go back and forth along ray's path i created my indicator ball dynamically so i use this code to set its layer : GameObject indicator; private void Start() { indicator = GameObject.CreatePrimitive(PrimitiveType.Sphere); indicator.transform.localScale = Vector3.one * .1f; indicator.layer = LayerMask.NameToLayer("Ignore Raycast"); } hope this helps someone happy coding :)
Wow, I expected a trailer or something for a longer lesson, not the lesson itself. Incredible how much information can be conveyed in such a short time!
I like tutorials like this! Instead of just putting up code that you wont understand and just copy, this just gives you the logic you need to build with code and objects, making you understand how to convert an idea/action into code.
I have been trying to understand this shit for literal years and this is the first video that makes it make sense that might be because I'm an idiot tho
Cooooooooooooooooooooool idea!!! I am an animator. Most of time I observe to figure out movements. I always admire how coder thinks in a different way, a world I am amazed with but I can't reach. I will try!
This video was more helpful than all the tutorials I've looked at, it explained the steps so clearly and I was able to build my own procedural rig, thank you
I love this tutorial. It just gives us the basic idea so we have to do the code and feel satisfied with our own work, instead of just copy and pasting someone else's.
Okay, this is what tutorials should be. Thank you for this perfect video. I think the hardest bit to implement is inverse kinematics- but I guess that's made easy with Unity's Animation Rigging package :DD
this is a great tutorial, it mirrors my thought process when writing and looking at code and give a general idea of what you wanting to do instead of only showing one way to do it sparks creativity in the programmer to write it how it will work for them instead of trying to adapt things that are written for one specific use and breaking things or having poorly optimized code
This is perfect. I was recently looking at some Sokpop games that use a system just like this for leg movement and it had me thinking about how it was done. The part I hadn't thought of was the raycasting part to get the height of the ground where the foot needs to go. Raycasting, I'm learning, is such a useful tool I never use, and really need to make a habit of using. Thanks for the tips. I agree with the other commenters that this is the perfect amount of guidance to give. It makes us learn it more deeply by having to code it ourselves, and it's even applicable to other engines and any coding language or style.
At face value, id say this is a really good tutorial and in terms of being more specific it gives you a good idea of things you want to learn first like inverse kinematics
There was still a lot I had to add. For example, a pose when you stand still. Otherwise it would look weird. It was all so easy to do because you build everything from scratch and you know exactly how everything works. Best tutorial thanks. Took me 6 days :D
andreas made a good point, but I honestly didn't get anywhere using this tutorial alone this is more of a guide than a tutorial because if you don't already basically know what to do this isn't helpful
I love this style of tutorial. Its forces one to actually do work, and not just copy the code shown on the screen without understanding. I'm currently learning a lot while making a 2D physics based version of this. Its quite satisfying to watch.
Dude, best tutorial ever! It's freaking short and easy to understand. I wanted to make something like this since Spore. Thanks to you now I can make my own creatures :D .
Nice little demo of the steps; This is exactly the kind of thing to help you get started when you're first looking in to it. Any thoughts on doing this with physics? The body bobs a little in the last clips but I assume that's simulated for the aesthetic effect. I'm thinking about creating a sort of ragdoll and then pragmatically trying to keep it upright but I suspect it won't be that simple, especially when it comes to walking and such.
I'm trying to recreate this in Control Rig/Animation Blueprint in UE4, I admit I might be a little stupid but I really struggled to get the "move leg toward point as the distance increases" step. Even now it doesn't look as smooth as you make it, but it works. Thanks for this video, it pushed me over the edge to start working on this stuff and I think once I figure it out it will help my game quite a bit
Hey! This is what i have been looking for a long time! Thank you for putting me in the right direction! There is one thing which i cant really get, Its part 7. Put legs in a zigzag pattern. If i litteraly put the legs in a zig zag pattern it works for a couple of steps, but then it starts to make this 2 foot jump. Should i make a zig zag pattern by code? Like having a sinus wave moving the target sphere back and forth?
Hey, step 8 should fix that; check if the surrounding legs are all grounded before allowing it to take a step. That way it should automatically stay in sync.
@@grazeen bir mobil oyun projesi yapıyordum fakat askıya aldım, onun için izlemiştim bunu. Fakat sonradan proje başka bir şekle büründü. Bu yüzden prosedürel animasyon kullanmadım
Now to figure out how to raycast.. Im so glad I found this though as I've been trying to find a good solution for a quadruped animation that's dynamic to hills and such. Thanks man! I saw your DevLog too, very impressive work ^^
What I love is that you show what I need to do and what it will achieve. Just looking at code works but only for 1 time solution and you dont learn much...
Procedural Animation is the thing where you can only say: "You know, in hindsight that is pretty easy and obvious. How did we not manage to do it for such a long time?"
It has been a 4 days since my first attempted to mess with IK 4 iterations of my script were needed for me to get my bot to walk, now im facing a issue were his legs just break when he changes speed idk what to do anymore, im going mad
The point is to not show you the code and explicitly how to do each step, step by step. Doing it this way helps the person following the tutorial to understand and learn new concepts, while also understanding how the code works and how to implement new things
how to choose the leg of the first step, beacause when using 2legs in the same axis they move together if i use the is grounded techinique they stop moving, i try to put one leg in front of the other and then it worked but if move to fast they end up in the same axis again and stop.
You should store the state of each Leg (moving/grounded) in a variable, that way when the first wants to start moving, the second leg knows that, even though the first leg is still on the ground.
i had a boolean for every leg (inAir)... if an leg is in the air every other leg is blocked and they are not allowed to do a step until the leg is ending his step
@Codeer I've figured out all of it except the the rotating body based on difference between leg heights. Could anyone please point out how the angle to be rotated can be calculated??
For anyone who made the mistake of trying to do a 3 chain IK, the trick here is that it's actually just a 2 chain IK and the "foot" section just statically points down. I spent too long messing with misbehaving pole targets before realizing this lmao
You probably figured it out, but you simply need to add Time.deltaTime into the equation. You could do it by using Vector3.Movetowards(leg.transform.position, speed * Time.deltaTime)
Ah this is brilliant. Thank you very much Codeer. When lifting the leg up and into the target position, I'm guessing your using some sort of interpolation method to curve the leg onto that position?
Hey I'm glad it's helpful! I'm using MoveTowards() on the IK points to move the legs. During the first half of the step it adds an upwards vector to the target position to create that curved look.
@@Codeer Ah i see, very clever. Thanks again. I've been wanting to understand procedural animation for a while but couldn't find any good tutorials or articles explaining it. And then your video came up in my recommended and i am very appreciative of the recommendation. :P
@@Codeer Hi Codeer, I've got the leg moving to the goal point based on the distance but i'm interested with the leg raising part. You said you've used Move Towards for half the cycle but by any chance did you use a timer variable to dictate what half the cycle was? EDIT: I also have an issue with the IK. When i rotate the character, the leg inverts for some reason. By this i mean lets say the leg is an n shape by default, when rotating it ends up looking like a u. Though still following the target position that is. I don't suppose you know how i can fix this? Thanks.
@@NoirPhoenix I'm using MoveTowards for the entire step, but during the first half I'm pushing the target position up so the leg moves upwards. I'm determining the percentage of the step by comparing the step distance to the total step length.
@@Codeer Coolio its working now. Thank you. This is what i ended up with for the movement: target.iKObject.position = Vector3.MoveTowards(target.iKObject.position, target.goalPosition + new Vector3(0,((stepCompletion / target.totalStepDistance)/2) * heightRise, 0), Time.deltaTime / timeToReach); ---- However, i still have that weird IK issue where the leg essentially looks like it has flipped when the body is rotating.
Thank you very much for this video. I try since a while to reproduce it and with the help of another video ( the spider tutorial) I finally succeed to make the foot lifts up. But I have a question, do you set a point attached to the body as IK target of the leg, or is it a point on the ground ? Regards !
I finaly made it, all the steps beautifull lesson, i am just with a little problem when i walk too fast the feet almost cincronize, the velocity of the step is totaly related with the velocity of the body?
I don't understand steps 9 and 10. Can someone explain them to me? What offset do i have to add. And how can I measure the right angle to rotate the body?. And the raycast part. How does it really work. Like the place the raycast hits something up the target goes there?
Very interesting! Personally I think this is a good tutorial. Showing code will just lead to copying and pasting, if you're 100% in need of that then subjects like these are already a bit out of your grasp yet. Once you get enough experience you start thinking like "Alright, I could use this function to move the legs, and use raycasts to get blabla" at each step. Tutorials are meant to lift each other up difficult parts, not just show exactly what you need to do to create something that might only work in one enviroment. Nice tutorial!
Yeah i love videos like this that doesnt challenge our intelligence we all know what raycasting is and how to check distance. All this video does is guide us in what to do with that knowledge.
yes, but pseudocode would be helpful
Then again who are starting new and found this tutorial at that phase then it would blow their mind.
agreed! it's also great to see differant approaches to accomplish the same end result. Which is why i love this condensed tutorial. 😅
These kind of tutorials also help if you are really new to unity but have worked with different programming languages before.
As minimalist as it is, this might be the most helpful tutorial I've ever seen for something like this. Everything is so clear and concise; I love it. Thank you for making this!
I seriously admire these kinds of tutorials. I'm not a great coder myself, but I seriously dislike watching someone else write out the code in the video and have it lead to me just copying and pasting without understanding what I'm doing. The trial and error that comes after watching these sorts of videos always feels like it promotes more learning.
Thanks for the short video and keep it up!
That is a good point, I've noticed people asking for code on my own channel and on other channels, and that definitely isn't learning. As someone who is still struggling with the basics where do you start? (I don't even understand a c# boolean admittedly. My flashlight script is actually two scripts, one deactivates the light object and one activates the light object)
@@aminoshift1158 you could instead of deactivating the gameObject, deactivate the component that way you wouldn't need to reactivate the gameObject from a different source
Also you can use something similar to this obviously this is very rudimentary and will most likely have syntax errors but it conveys the message i think.
If(Input.GetKey("up") && lightBool == true)
{
lightBool = false;
}
Else
{
lightBool = true
}
@@majorBearsky Thanks for the tip!
@@aminoshift1158 No problem hope it was helpful (and not too late)
@@majorBearsky not at all! Though I will admit I still haven't learned how to work kinematics I have found simpler ways of animating characters and just built around my skillset, while also brushing up on some coding.
For a 1 minute lesson I think it gives pretty much everything I needed, this is great!
Except the code
@@robbieaulia6462 wdym? This tutorial was great it explaned everything just follow the steps and make your own
@@robbieaulia6462 yeh this is a excellent framework to work with and provides us a good roadmap to use for ourselves, the rest is easy to prototype
@@robbieaulia6462 if you know what you need to code, coding will be an easy task. :)
@@nikistefan6868 coding never is easy alteast not for me im only good at graphical stuff.
This was a very nice video!
It's not limited to unity and easy to follow!
Showing the main concepts of something instead of showing exactly how to do it is much better for learning imo!
We need more tutorials like this!
This is... one of the best tutorials for anything I've ever seen. To the point. Shows the steps in principles rather than just code.. My mind is blown at how good this format is.
after all these years, absolutely goated explanation video. everytime someone asks me about how procedural animation is done, I show them this.
I use unreal and was able to implement all this like how it is, great.
that's great ^^
This is pretty good. "60 seconds" quickly became three days of learning new stuff haha
only 3 days? took me 6 days😵 but i had to add a lot of stuff. Controller, sidestep, idle pose if you stand still .... :D
I figured out a lot of the stuff in this video a few years back through my own experimentation (minus moving the body based on the leg positions, but also including handling rotational velocity and eventually adding a rudimentary reset "animation"). It took me several days to figure out this stuff that you summed up so neatly in about 60 seconds.
For years now I've been begging to have a tutorial structure for UA-cam tutorials that actually engage the viewer in the lesson, and this is PERFECT.
As soon as you realize that all of the steps are quite simple, it's up to the viewer to decide how to make each step work, allowing them to exercise problem-solving, and the ability to apply this to their own projects, and not make an entirely new project to try it out.
best type of tutorial for experienced people... i didn't have to waste any time at all them ideas in 60 seconds
This prevents copying of code but still gives a clear idea of what you should implement
0:39
sᴍᴀʟʟ
ₑₙₑₘᵧ
spider
doo dooo doehwehowewheoeoh
Do do dooo do do
That is the best tutorial format. Pure information, no stupid music, no annoying streamer in the corner. Perfection.
My confusion was raising the foot up and down timed correctly. The solution is spherical interpolation, or Slerp. Basically, it moves one Vector3 value to another, but it does it spherically, meaning that it makes a round trip to the destination.
can you please help me with the IK part.
oh wow that's actually pretty easy! I love that this video was as short as it is, no more explanation is needed!
so please, help me with doing step.
For anyone that got stuck at step 3-4 at raycast downward:
dont forget your indicator red sphere set to "ignore raycast" layer
if you dont set sphere to that layer, your ball constantly go back and forth along ray's path
i created my indicator ball dynamically so i use this code to set its layer :
GameObject indicator;
private void Start()
{
indicator = GameObject.CreatePrimitive(PrimitiveType.Sphere);
indicator.transform.localScale = Vector3.one * .1f;
indicator.layer = LayerMask.NameToLayer("Ignore Raycast");
}
hope this helps someone happy coding :)
Türkiyede bu kadar bilgili Türk oyun yapımcısı olduğunu bilmiyordum (at0m prim kasıyor sadece)
I can’t believe how good this tutorial is
Wow, I expected a trailer or something for a longer lesson, not the lesson itself. Incredible how much information can be conveyed in such a short time!
I like tutorials like this! Instead of just putting up code that you wont understand and just copy, this just gives you the logic you need to build with code and objects, making you understand how to convert an idea/action into code.
Please make a playlist of your tutorials. This is exactly the type of tutorial I've been looking for.
Thank you so much for visualising it more clearly. I know understand it better
I have been trying to understand this shit for literal years and this is the first video that makes it make sense
that might be because I'm an idiot tho
Cooooooooooooooooooooool idea!!! I am an animator. Most of time I observe to figure out movements. I always admire how coder thinks in a different way, a world I am amazed with but I can't reach. I will try!
Did you reach?
@@janmorosesteban3785 not yet~
I really like the concept of a tutorial like this. It just provides intuition on how to go about it, rather than an implementation.
This video was more helpful than all the tutorials I've looked at, it explained the steps so clearly and I was able to build my own procedural rig, thank you
Hands down the best *and* shortest video I've seen on this topic
I love this tutorial. It just gives us the basic idea so we have to do the code and feel satisfied with our own work, instead of just copy and pasting someone else's.
i liked ur pfp. have a great day
I copy and pasted the ik
I copied
This is an excellent tutorial style which IMO doesn't need "Unity" in the title - it applies to any game engine.
The simplest tutorials are sometimes the best ones.
I love this as a tutorial. It shows the concepts instead of the code. I think that's a really good way to teach.
Amazing tutorial, short and sweet, points you in the right direction enough where anyone could follow without stretching for the 10 mins.
Okay, this is what tutorials should be. Thank you for this perfect video. I think the hardest bit to implement is inverse kinematics- but I guess that's made easy with Unity's Animation Rigging package :DD
This was a very good tutorial. Taught me everything I need to know about how procedural animation works. Thanks!
this is a great tutorial, it mirrors my thought process when writing and looking at code and give a general idea of what you wanting to do instead of only showing one way to do it sparks creativity in the programmer to write it how it will work for them instead of trying to adapt things that are written for one specific use and breaking things or having poorly optimized code
Really nice effect!
Simple and clear! We need more video like this
This is perfect. I was recently looking at some Sokpop games that use a system just like this for leg movement and it had me thinking about how it was done. The part I hadn't thought of was the raycasting part to get the height of the ground where the foot needs to go. Raycasting, I'm learning, is such a useful tool I never use, and really need to make a habit of using. Thanks for the tips. I agree with the other commenters that this is the perfect amount of guidance to give. It makes us learn it more deeply by having to code it ourselves, and it's even applicable to other engines and any coding language or style.
much better than watching someone code for 1 hour
helps to learn too
Thanks for this
At face value, id say this is a really good tutorial and in terms of being more specific it gives you a good idea of things you want to learn first like inverse kinematics
Such a simplistic yet informative tutorial, honestly as much work as it was, I learnt a lot. Thank you for this!
There was still a lot I had to add. For example, a pose when you stand still. Otherwise it would look weird. It was all so easy to do because you build everything from scratch and you know exactly how everything works. Best tutorial thanks. Took me 6 days :D
andreas made a good point, but I honestly didn't get anywhere using this tutorial alone this is more of a guide than a tutorial because if you don't already basically know what to do this isn't helpful
I love this style of tutorial. Its forces one to actually do work, and not just copy the code shown on the screen without understanding. I'm currently learning a lot while making a 2D physics based version of this. Its quite satisfying to watch.
Dude, best tutorial ever! It's freaking short and easy to understand. I wanted to make something like this since Spore. Thanks to you now I can make my own creatures :D .
Man, thats exactly what ive been looking for about week! Love you
This video helps me think about how to think
Nice little demo of the steps; This is exactly the kind of thing to help you get started when you're first looking in to it.
Any thoughts on doing this with physics? The body bobs a little in the last clips but I assume that's simulated for the aesthetic effect. I'm thinking about creating a sort of ragdoll and then pragmatically trying to keep it upright but I suspect it won't be that simple, especially when it comes to walking and such.
I'm trying to recreate this in Control Rig/Animation Blueprint in UE4, I admit I might be a little stupid but I really struggled to get the "move leg toward point as the distance increases" step. Even now it doesn't look as smooth as you make it, but it works. Thanks for this video, it pushed me over the edge to start working on this stuff and I think once I figure it out it will help my game quite a bit
We need more videos like this that teach concept rather than show code. Nice work
Hey! This is what i have been looking for a long time! Thank you for putting me in the right direction!
There is one thing which i cant really get, Its part 7. Put legs in a zigzag pattern.
If i litteraly put the legs in a zig zag pattern it works for a couple of steps, but then it starts to make this 2 foot jump.
Should i make a zig zag pattern by code? Like having a sinus wave moving the target sphere back and forth?
Hey, step 8 should fix that; check if the surrounding legs are all grounded before allowing it to take a step. That way it should automatically stay in sync.
Beautifully concise yet accurate and complete. Splendid.
One day ago ı was thinking about how can ı do this. Thank you very much
9 ayda neler yaptın hayat nasıl gidiyor?
(what did you make in 9 months how is life going?)
@@grazeen bir mobil oyun projesi yapıyordum fakat askıya aldım, onun için izlemiştim bunu. Fakat sonradan proje başka bir şekle büründü. Bu yüzden prosedürel animasyon kullanmadım
Interesting approach. This is quick-and-dirty but very effective.
Now to figure out how to raycast.. Im so glad I found this though as I've been trying to find a good solution for a quadruped animation that's dynamic to hills and such. Thanks man! I saw your DevLog too, very impressive work ^^
That explained it better than an hour long tutorial. Thumbs up
this should be the way that all tutorials should be! I was able to make procedural walking not in unity, but in rec room!
What I love is that you show what I need to do and what it will achieve. Just looking at code works but only for 1 time solution and you dont learn much...
this is awesome !!!, the way you explain the process make this video use full even out side houdini
How to fix bottom of leg to ground?
Procedural Animation is the thing where you can only say: "You know, in hindsight that is pretty easy and obvious. How did we not manage to do it for such a long time?"
Weird i needed this for my game and didnt even search it up it was on my recommended thanks :D
Hello Mr. Codeer you really inspired me to try and learn unity. Sadly I have deadlines. Keep up the good work veri nice content
It has been a 4 days since my first attempted to mess with IK
4 iterations of my script were needed for me to get my bot to walk, now im facing a issue were his legs just break when he changes speed idk what to do anymore, im going mad
Succeded!
This has started me off on a fun project thank you
This video inspired me to make my own IK-Spider and I already implemented rotation :D
I want more quick tutorials like this
Its a pretty good video but if you could just get a voice in it and tell us how to do all of those steps that would be awsome
The point is to not show you the code and explicitly how to do each step, step by step.
Doing it this way helps the person following the tutorial to understand and learn new concepts, while also understanding how the code works and how to implement new things
A full commitment's what I'm thinking of
how to choose the leg of the first step, beacause when using 2legs in the same axis they move together if i use the is grounded techinique they stop moving, i try to put one leg in front of the other and then it worked but if move to fast they end up in the same axis again and stop.
You should store the state of each Leg (moving/grounded) in a variable, that way when the first wants to start moving, the second leg knows that, even though the first leg is still on the ground.
i had a boolean for every leg (inAir)... if an leg is in the air every other leg is blocked and they are not allowed to do a step until the leg is ending his step
@Codeer I've figured out all of it except the the rotating body based on difference between leg heights. Could anyone please point out how the angle to be rotated can be calculated??
Oh my goooosh 😭😭😭❤️ i love it, i really would like to learn this 😭❤️ so good to see this kinda things
Hidden gem of a video i
His can probably be applied to any engine. Not just unity.
For anyone who made the mistake of trying to do a 3 chain IK, the trick here is that it's actually just a 2 chain IK and the "foot" section just statically points down.
I spent too long messing with misbehaving pole targets before realizing this lmao
yeah same
That was very simple and cool explanation
I got them moving towards the new position but yours actually takes a step towards the point, how does one achieve such an effect?
You probably figured it out, but you simply need to add Time.deltaTime into the equation. You could do it by using Vector3.Movetowards(leg.transform.position, speed * Time.deltaTime)
Great tutorial! Please make more like this where you show the basic steps without just giving the code.
how tf you fix the bottom of leg to ground like what
This was wayy more usefull than i tought.
thx you so much. Thx to your easy steps i made it in UE5 even. Super handy video ;p
Thanks, teaching coding without showing code is the best way to learn it :)
I love this and the video style! Awesome
I love automatically behaving object like you did :D
How do you get the legs to stick to the ground? Can anyone help please.
Legendary videos are mostly short 😙.
Awesome! Straight to the point! Thank you!
Ah this is brilliant. Thank you very much Codeer. When lifting the leg up and into the target position, I'm guessing your using some sort of interpolation method to curve the leg onto that position?
Hey I'm glad it's helpful! I'm using MoveTowards() on the IK points to move the legs. During the first half of the step it adds an upwards vector to the target position to create that curved look.
@@Codeer Ah i see, very clever. Thanks again. I've been wanting to understand procedural animation for a while but couldn't find any good tutorials or articles explaining it. And then your video came up in my recommended and i am very appreciative of the recommendation. :P
@@Codeer Hi Codeer, I've got the leg moving to the goal point based on the distance but i'm interested with the leg raising part. You said you've used Move Towards for half the cycle but by any chance did you use a timer variable to dictate what half the cycle was?
EDIT: I also have an issue with the IK. When i rotate the character, the leg inverts for some reason. By this i mean lets say the leg is an n shape by default, when rotating it ends up looking like a u. Though still following the target position that is. I don't suppose you know how i can fix this? Thanks.
@@NoirPhoenix I'm using MoveTowards for the entire step, but during the first half I'm pushing the target position up so the leg moves upwards. I'm determining the percentage of the step by comparing the step distance to the total step length.
@@Codeer Coolio its working now. Thank you. This is what i ended up with for the movement: target.iKObject.position = Vector3.MoveTowards(target.iKObject.position, target.goalPosition + new Vector3(0,((stepCompletion / target.totalStepDistance)/2) * heightRise, 0), Time.deltaTime / timeToReach);
----
However, i still have that weird IK issue where the leg essentially looks like it has flipped when the body is rotating.
Thank you very much for this video. I try since a while to reproduce it and with the help of another video ( the spider tutorial) I finally succeed to make the foot lifts up. But I have a question, do you set a point attached to the body as IK target of the leg, or is it a point on the ground ? Regards !
how did you make the leg lift up localy??? which video you watch
Thanks for this. I needed this kind of explanation.
its a good tutorial and plz keep making these kind of tutorials
I wish every youtube tutorial was 1 minute! Thanks for sharing
this is how you make a tutorial. amazing
I think that's the best tutorial i've seen in my life
This is real life magic, short and helpfull! Thanks!
Best tutorial i've seen, keep it up!
I finaly made it, all the steps beautifull lesson, i am just with a little problem when i walk too fast the feet almost cincronize, the velocity of the step is totaly related with the velocity of the body?
I don't understand steps 9 and 10. Can someone explain them to me? What offset do i have to add. And how can I measure the right angle to rotate the body?. And the raycast part. How does it really work. Like the place the raycast hits something up the target goes there?
Mate cant thank you enough,i got the idea about how to make it work, really new to 3d animation but got the concept cheers
Thank you very much, bud. Everything else I came across is fecal matter. This tutorial really helps. Much appreciated.
this is gonna take me a year to figure out how to do the steps.