Procedural Animation in 5 Minutes | devlog 1
Ойындар
The video is for creating a foot placement system, but I nevertheless spent a good portion talking about IK. This video is part of a devlog series but stands on it's own as a tutorial. If you need any help or have questions feel free to join my discord.
My IK Tutorial • Learn Inverse Kinemati...
Discord / discord
Patreon / benblodgett
Rujik / rujikthecomatose
0:00 - Intro
0:22 - IK Function
0:46 - Local vs Global Space
1:22 - NaN Error
1:31 - Relevant Angle Summation
2:00 - Re-convert to Global Space For Drawing
2:18 - Foot Placement Method
3:41 - Drawbacks
4:20 - Hybrid Method
5:18 - Resources
Пікірлер: 63
Share your updates of your cool projects in my discord discord.gg/4WpA8Ez7FD
@minipig780
11 ай бұрын
Hi I'm looking to use this in my project and I'm just wondering what software do you use for your maths and graph thingy well done on the video(btw i kinow im a little late to it)
*Watches too many rain world videos* "Hey, i should learn procedural animation!" *Watches this video* "Nope"
@BenjaminBlodgettDev
2 жыл бұрын
If it discourages you from making ineffective use of your time, then I consider that a win 💪
@unluckypanda5448
2 жыл бұрын
@@BenjaminBlodgettDev i jumped from a rabbit hole right into another one... Now i'm watching how to make 2d games in unity :/
@BenjaminBlodgettDev
2 жыл бұрын
@@unluckypanda5448 If you get stuck, me and others in my discord would be willing to help
@unluckypanda5448
2 жыл бұрын
@@BenjaminBlodgettDev i feel like starting out is the worst part. Ive been trying and giving up a lot, and i mean a LOT of times over and over for years now, first getting inspired and then having a blank unity project in front of me trying to figure out the most basic platformer controller ever and why the tutorial one doesnt work. I'll check out the server anyway, i will definetely find some useful info and recieve help from some people, so why not? :)
@jamiefrancescavalencia8634
2 ай бұрын
rain worl wawawawawawawawawawawwawa
this video has made me gawk in awe
i'm a baby dev so i understood pretty much nothing, this was a great video.
slow down brother you are giving me anxiety
This is a perfect and simple explanation of procedural animations! I used this technique for my spider game. It was quite difficult. Also great video just 5 minutes but still so much information.
@BenjaminBlodgettDev
2 жыл бұрын
Thanks! I think the next method will be more straight forward in some ways.
Plays rainworld, decides to learn Inverse kinematics because of rainworld, met with more rainworld. Cool
4:20 of course you couldn't make procedural animation video without using Rain World OST
@xXMacielloXx
2 жыл бұрын
420 😎
@quack2943
2 жыл бұрын
isn't that the threat music for outskirts?
@jackliberson
Жыл бұрын
@@quack2943 it is
@BenDover-we3to
Жыл бұрын
Fr bro
Holy sht. Such a complex thing, explained so concisely. I'm really new to game dev, and often need to watch a video a few times before I get it. But not here. (Don't worry, I'll still watch it a few times as I figure out how to implement this, I just mean you did an incredible job explaining it)
For anyone wondering, the v2::polar stuff is converting polar cords to cartesian cords, the first value is the angle the second is the radius. I got stumped on this for ages. Here's the code; func polar_to_cartesian(angle, radius): var x = radius * cos(angle) var y = radius * sin(angle) return Vector2(x, y)
Amazing presentation. Thank you for this.
Bob is Miros Bird confirmed?
Dayum, I had to turn the play-speed down to .75x for this video, and the content was paced well and not slow at all. You really crammed a lot of great info into 5 minutes, and not a single ad! Great work man, thank you! One thing I couldn't seem to get over is that you started the video mid-word and an image fleeing from the screen and so I kept starting the video over looking intently at what it was I thought I was missing lol.
@BenjaminBlodgettDev
Жыл бұрын
haha I cut out the first few seconds or so after I uploaded because I didnt like them as much. I think I had a long winded sentence about how I would educate the viewer based on some experience or research I had, but in hindsight I preferred to jump right into the meat of the video. The youtube editor was a little janky so I couldnt cut it right where I wanted. kinda wish I didnt cut it there but it is irreversable for the upload
This is great thank you
Interesting topic. Have not come across this before, but the approach makes sense. And the effects are pretty nice. To get it even better I guess one would have to add a y component. So that the feet don't go in a straight line to the LERP point, but rather in an arc.
@BenjaminBlodgettDev
2 жыл бұрын
That is a pretty good prediction of what the next method entails!
very good
Im not a game dev or anything but this stuff is so interesting
4:38 wawawawawa
i will never use this, but great video
Amazing video! Even though I somehow understood all of that, I feel hat if you explained with some visuals representatives, the explanation would be easier to follow.
how do you make it so that when you have multiple softs in your soft roll; you arent interfereing with another soft like accidentally
@BenjaminBlodgettDev
Жыл бұрын
sorry I dont know what a soft roll is. can you elaborate?
I'm very concerned that I have to learn how to implement this stuff if I'm going to develop a Spore-like game.
Hey man is the next video on procedural animation still coming out? It’s a topic that’s not talked about enough… well, in depth enough at least
Only if this resource was out when Randall was doing his IK stuff for arcana
4:12 of course rain world song HAHA!
at 2:26 is it supposed to say if L1 + L2 < d?
I'm confused about the condition "if elbow_angle_relative != elbow_angle_relative". Surely it could never be true, right? How does that work? What language is this :P (sorry for asking)
@BenjaminBlodgettDev
Жыл бұрын
It's C++. In some cases like if you divide by zero, a variable's value becomes NaN (not a number) because zero division isnt possible. When this variable becomes NaN it breaks the whole system. I would much rather it be set to zero in such a case than have everything get messed up. To solve this we simply check if the variable is NaN, and if it is we set the value to zero. The way you do this in C++ is by checking if a variable is equal to itself, because a variable will always be equal to itself unless it's value is NaN.
@huraqan3761
Жыл бұрын
@@BenjaminBlodgettDev oh ok thanks!
i'm trying it to make organic animations for the enemies for my survival game, god damn i never tough it would be so fcking difficult to code a simple ankle
@comnrade
21 күн бұрын
i just give up making everything by code so i just made the feet follow the target position and t]for the ankle i just used bones and joints
You said you would solve all 3 issues in this video in the next video, will you still be doing that video?
@BenjaminBlodgettDev
Жыл бұрын
Haha, maybe I spoke too soon when I made this video. The second video has been put off for a while. The system will solve these issues by using gait data to determine step timings (i.e. duty factors and step triggers), using sinusoidal curves to offset the y position during a step, and interpolating the x position using an interpolation curve whose first and second derivatives are both equal to zero during the start and end of steps. These three techniques used together will alleviate the three issues I mentioned.
this is a stupid question, but is the script at the beginning c#?
@BenjaminBlodgettDev
Жыл бұрын
It's c++, but I've actually written this function once in c# and ported it over to c++ later. You'll just need to use the Math class and Vector2 class in something like Unity.
@dylanpratt5081
Жыл бұрын
@@BenjaminBlodgettDev thank you, your explanation is really easy to understand and is a life saver!
i could recognize rain world music anywhere
gg
Why not add a perlin?
0:10 What's the point of elbow_direction_sign here?
@tiqosc1809
3 ай бұрын
because each ik can have two solotion, one infront and one in back
Why the hell are you in mount Vesuvius
a bit too fast, but a great starting point into the topic
Can I use this code in Mugen
@BenjaminBlodgettDev
Жыл бұрын
yes
Bruh I just want to input what I learn to scratch but you already threw me in the fire
Let’s be real who didn’t watch this because of rain world?
bill gates - functhion
@BenjaminBlodgettDev
2 жыл бұрын
what