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!
@Chevifier4 жыл бұрын
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.
@maindepth88304 жыл бұрын
yes, but pseudocode would be helpful
@rahuls70393 жыл бұрын
Then again who are starting new and found this tutorial at that phase then it would blow their mind.
@BimzyDev3 жыл бұрын
agreed! it's also great to see differant approaches to accomplish the same end result. Which is why i love this condensed tutorial. 😅
@soronorjspro35163 жыл бұрын
These kind of tutorials also help if you are really new to unity but have worked with different programming languages before.
@carlosbisa30864 жыл бұрын
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!
@syphini4 жыл бұрын
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!
@aminoshift11584 жыл бұрын
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)
@majorBearsky4 жыл бұрын
@@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 }
@aminoshift11584 жыл бұрын
@@majorBearsky Thanks for the tip!
@majorBearsky4 жыл бұрын
@@aminoshift1158 No problem hope it was helpful (and not too late)
@aminoshift11584 жыл бұрын
@@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.
@mr_hexo2 жыл бұрын
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!
@ReplayerTV4 жыл бұрын
For a 1 minute lesson I think it gives pretty much everything I needed, this is great!
@robbieaulia64623 жыл бұрын
Except the code
@emoneydev86843 жыл бұрын
@@robbieaulia6462 wdym? This tutorial was great it explaned everything just follow the steps and make your own
@pyrosnappy76413 жыл бұрын
@@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
@nikistefan68682 жыл бұрын
@@robbieaulia6462 if you know what you need to code, coding will be an easy task. :)
@friendlyneighborhoodmemer182 жыл бұрын
@@nikistefan6868 coding never is easy alteast not for me im only good at graphical stuff.
@sync34712 жыл бұрын
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.
@PranjayMittal2 жыл бұрын
can you please help me with the IK part.
@maxismakingstuff2 жыл бұрын
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.
@ryan.j1132 жыл бұрын
For years now I've been begging to have a tutorial structure for KZbin 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.
@DarkShroom3 жыл бұрын
best type of tutorial for experienced people... i didn't have to waste any time at all them ideas in 60 seconds
@Kaasbaas12344 жыл бұрын
This prevents copying of code but still gives a clear idea of what you should implement
@Knuckles27613 жыл бұрын
That is the best tutorial format. Pure information, no stupid music, no annoying streamer in the corner. Perfection.
@lukelader4 жыл бұрын
I use unreal and was able to implement all this like how it is, great.
@daydreamteam13664 жыл бұрын
that's great ^^
@dermarciman3 ай бұрын
after all these years, absolutely goated explanation video. everytime someone asks me about how procedural animation is done, I show them this.
@WesleyOverdijk4 жыл бұрын
This is pretty good. "60 seconds" quickly became three days of learning new stuff haha
@Tofos943 жыл бұрын
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
@bujolg41964 жыл бұрын
0:39 sᴍᴀʟʟ ₑₙₑₘᵧ spider
@pchris3 жыл бұрын
doo dooo doehwehowewheoeoh
@jacobhobbs34883 жыл бұрын
Do do dooo do do
@devinsmith47139 ай бұрын
Hands down the best *and* shortest video I've seen on this topic
@grazeen3 жыл бұрын
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 :)
@peppermint20872 жыл бұрын
Türkiyede bu kadar bilgili Türk oyun yapımcısı olduğunu bilmiyordum (at0m prim kasıyor sadece)
@SemiMono3 жыл бұрын
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.
@kh3naz Жыл бұрын
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
@ThefamousMrcroissant2 жыл бұрын
I really like the concept of a tutorial like this. It just provides intuition on how to go about it, rather than an implementation.
@feri39373 жыл бұрын
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!
@barmetler3 жыл бұрын
oh wow that's actually pretty easy! I love that this video was as short as it is, no more explanation is needed!
@DefaultCubeMatter3 жыл бұрын
so please, help me with doing step.
@jstra2 жыл бұрын
I love this as a tutorial. It shows the concepts instead of the code. I think that's a really good way to teach.
@Rkyiel9 ай бұрын
Thank you so much for visualising it more clearly. I know understand it better
@xXYannuschXx2 жыл бұрын
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.
@4.0.411 ай бұрын
This is an excellent tutorial style which IMO doesn't need "Unity" in the title - it applies to any game engine.
@ryan.j1132 жыл бұрын
Please make a playlist of your tutorials. This is exactly the type of tutorial I've been looking for.
@Byron_Vega5 ай бұрын
I can’t believe how good this tutorial is
@omicrondelta73274 жыл бұрын
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.
@sayochikun32883 жыл бұрын
i liked ur pfp. have a great day
@lightswitch26223 жыл бұрын
I copy and pasted the ik
@zeuschrist67611 ай бұрын
I copied
@extracub19742 жыл бұрын
This was a very good tutorial. Taught me everything I need to know about how procedural animation works. Thanks!
@xxbongobazookaxx71703 жыл бұрын
Amazing tutorial, short and sweet, points you in the right direction enough where anyone could follow without stretching for the 10 mins.
@realyunggranny3 жыл бұрын
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
@jimkeen76743 жыл бұрын
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.
@KevinMcLean4 жыл бұрын
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
@rednaweamo9 ай бұрын
Man, thats exactly what ive been looking for about week! Love you
@Nika_.2 жыл бұрын
Such a simplistic yet informative tutorial, honestly as much work as it was, I learnt a lot. Thank you for this!
@Olina-Live2D4 жыл бұрын
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!
@janmorosesteban37854 жыл бұрын
Did you reach?
@Olina-Live2D4 жыл бұрын
@@janmorosesteban3785 not yet~
@thereadypunk7572 жыл бұрын
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.
@jdang71756 ай бұрын
The simplest tutorials are sometimes the best ones.
@isawadelapradera64903 жыл бұрын
Beautifully concise yet accurate and complete. Splendid.
@johnnyp97273 жыл бұрын
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 .
@Tofos943 жыл бұрын
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
@precooled4 жыл бұрын
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
@christopherg23473 жыл бұрын
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?"
@zakkaioken28123 жыл бұрын
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
@morganlak43373 жыл бұрын
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
@umadbroyo23884 жыл бұрын
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...
@IndieGearLab4 жыл бұрын
Really nice effect! Simple and clear! We need more video like this
@davidmartin37728 ай бұрын
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
@luckyizzac10 ай бұрын
much better than watching someone code for 1 hour helps to learn too Thanks for this
@rikardcarlsson30584 жыл бұрын
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?
@Codeer4 жыл бұрын
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.
@user-ct8my8rv9c3 жыл бұрын
That explained it better than an hour long tutorial. Thumbs up
@NihongoWakannai2 жыл бұрын
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
@wilsonwilson1372 жыл бұрын
yeah same
@blisterfingers81694 жыл бұрын
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.
@warpirecords37678 ай бұрын
This video helps me think about how to think
@Pandan3D3 жыл бұрын
We need more videos like this that teach concept rather than show code. Nice work
@Rohan23003 жыл бұрын
Interesting approach. This is quick-and-dirty but very effective.
@ardacosar47974 жыл бұрын
One day ago ı was thinking about how can ı do this. Thank you very much
@grazeen3 жыл бұрын
9 ayda neler yaptın hayat nasıl gidiyor? (what did you make in 9 months how is life going?)
@ardacosar47973 жыл бұрын
@@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
@vaepuer22903 жыл бұрын
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 ^^
@doc8793 жыл бұрын
This has started me off on a fun project thank you
@omegaphoenix94143 жыл бұрын
Best tutorial i've seen, keep it up!
@2dinunity104 жыл бұрын
I love this and the video style! Awesome
@notkeehan3 жыл бұрын
A full commitment's what I'm thinking of
@brodakarat63403 жыл бұрын
I also added the velocity of the body * some constant to the raycast origin to make it step forward more in the direction of motion. wehn there is no motion it just casts from the raycast origin as usual so when you stop it will step back to where it should be
@brodakarat63403 жыл бұрын
I can no longer just pull it along with mouse in the scene view though because that doesnt give it velocity so it just steps constantly and the legs stay at rest, gotta use a rigidbody and controller script
@NihongoWakannai2 жыл бұрын
That seems like a good solution if your creature isn't just moving forward at all times, might have to try it out
@PPLorux4 жыл бұрын
Awesome! Straight to the point! Thank you!
@CookieJari3 жыл бұрын
Hello Mr. Codeer you really inspired me to try and learn unity. Sadly I have deadlines. Keep up the good work veri nice content
@zunuku41653 жыл бұрын
this is gonna take me a year to figure out how to do the steps.
@oyunlarveparodiler32213 жыл бұрын
This was wayy more usefull than i tought.
@d0c_dev3 жыл бұрын
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
@d0c_dev3 жыл бұрын
Succeded!
@brandonflorian90443 жыл бұрын
Thanks for this. I needed this kind of explanation.
@ved03213 жыл бұрын
@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??
@theawesomehellcg5 ай бұрын
this is awesome !!!, the way you explain the process make this video use full even out side houdini
@videoactif4 жыл бұрын
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 !
@PleaseWait...4 жыл бұрын
how did you make the leg lift up localy??? which video you watch
@jenrl5633 Жыл бұрын
this should be the way that all tutorials should be! I was able to make procedural walking not in unity, but in rec room!
@redpie9074 жыл бұрын
Oh my goooosh 😭😭😭❤️ i love it, i really would like to learn this 😭❤️ so good to see this kinda things
@toldfable4 жыл бұрын
This deserves a sub. Awesome stuff!
@brodakarat634011 ай бұрын
I wonder this working for a human with the "body" being the hip bone. I think I would need to force a step to a certain rythym instead of making it step based on distance to target, since it gives more capabilities for things to move in sync with step like item sway and arm swing. Also, customize on/off ground time (maybe I make scriptableobject for different gaits like walk and run)
@GCKteamKrispy Жыл бұрын
That was very simple and cool explanation
@HAWXLEADER3 жыл бұрын
I'm so using this idea on my pet project. My main project, Rocket Jockeys, where you ride rocket cycles equipped with grappling hooks has no use for this(yet?). My other pet project of a game that changes game play in each level does.
@veerana97424 жыл бұрын
How to fix bottom of leg to ground?
@jojikYT4 жыл бұрын
This video inspired me to make my own IK-Spider and I already implemented rotation :D
@gianlucafiorini4 жыл бұрын
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.
@modprog3 жыл бұрын
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.
@Tofos943 жыл бұрын
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
@ctct94183 жыл бұрын
I got them moving towards the new position but yours actually takes a step towards the point, how does one achieve such an effect?
@martinskovrup85283 жыл бұрын
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)
@NoirPhoenix4 жыл бұрын
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?
@Codeer4 жыл бұрын
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.
@NoirPhoenix4 жыл бұрын
@@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
@NoirPhoenix4 жыл бұрын
@@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.
@Codeer4 жыл бұрын
@@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.
@NoirPhoenix4 жыл бұрын
@@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.
@leonardoraele4 жыл бұрын
I want more quick tutorials like this
@agiotabm95032 жыл бұрын
this helped me so much, but I don't know how to make inverse knematics with unity objects like u showed on this video
@HiHi-iu8gfАй бұрын
yo ik this video a old as nuts but I recently took another shot at IK and was curious - what kind of IK algo do u use (for this example, and/or for your newer world)? FabrIK is what I'm familiar with, but found a couple other algorithms as well in my browsing. Any insight appreciated. Cheers :)
@indytasunka2 жыл бұрын
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
@destroyerhu5565 Жыл бұрын
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
@ahmedshihab32664 жыл бұрын
I love this type of information thank you
@neut_ro Жыл бұрын
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?
@guyfiber3 жыл бұрын
Weird i needed this for my game and didnt even search it up it was on my recommended thanks :D
@spacedog29804 жыл бұрын
this is how you make a tutorial. amazing
@alanjaldred3 жыл бұрын
Really nice. When moving the foot to target point, can you hint about how to do it with a curve, instead of moving directly to target?
@vitor102 Жыл бұрын
dont know if you still need the tip, but you can just interpolate something like (1-t)*t*hit.normal, and add that to the target position
@RenwarAram Жыл бұрын
Thanks For This Amazing Tutorial!
@gianlucafiorini4 жыл бұрын
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?
@mdaszadqureshi1484 жыл бұрын
its a good tutorial and plz keep making these kind of tutorials
@RecombobulatedStuff4 жыл бұрын
This is very helpful but how did you get the leg to move up and over to the target?
@Cooo_oooper11 ай бұрын
I know this is a bit late but I'm hardstuck at Step 8. I know offsetting the raycasts helps with the zigzag pattern for abit but checking for grounded on the opposite legs is the preferred approach. So what is your grounded condition? Another raycast, OnTriggerEnter on the foot, check the distance of the foot to the target location?
@michon964 жыл бұрын
love it!, is there a playlist to the actual process as well. I'd love to learn it
@acinaces3434 жыл бұрын
Great tutorial! Please make more like this where you show the basic steps without just giving the code.