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!
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.
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.
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!
For years now I've been begging to have a tutorial structure for RU-vid 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.
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 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
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 .
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.
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.
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
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 ^^
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!
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.
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.
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 :)
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
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 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
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
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.
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
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 !
@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??