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

  • @BenjaminBlodgettDev
    @BenjaminBlodgettDev Жыл бұрын

    Share your updates of your cool projects in my discord discord.gg/4WpA8Ez7FD

  • @minipig780

    @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)

  • @unluckypanda5448
    @unluckypanda54482 жыл бұрын

    *Watches too many rain world videos* "Hey, i should learn procedural animation!" *Watches this video* "Nope"

  • @BenjaminBlodgettDev

    @BenjaminBlodgettDev

    2 жыл бұрын

    If it discourages you from making ineffective use of your time, then I consider that a win 💪

  • @unluckypanda5448

    @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

    @BenjaminBlodgettDev

    2 жыл бұрын

    @@unluckypanda5448 If you get stuck, me and others in my discord would be willing to help

  • @unluckypanda5448

    @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

    @jamiefrancescavalencia8634

    2 ай бұрын

    rain worl wawawawawawawawawawawwawa

  • @brazen3550
    @brazen35502 жыл бұрын

    this video has made me gawk in awe

  • @arsenico4126
    @arsenico4126 Жыл бұрын

    i'm a baby dev so i understood pretty much nothing, this was a great video.

  • @g.guerra2078
    @g.guerra2078 Жыл бұрын

    slow down brother you are giving me anxiety

  • @larsmaas07
    @larsmaas072 жыл бұрын

    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

    @BenjaminBlodgettDev

    2 жыл бұрын

    Thanks! I think the next method will be more straight forward in some ways.

  • @lakewaltz
    @lakewaltz Жыл бұрын

    Plays rainworld, decides to learn Inverse kinematics because of rainworld, met with more rainworld. Cool

  • @lemonice
    @lemonice2 жыл бұрын

    4:20 of course you couldn't make procedural animation video without using Rain World OST

  • @xXMacielloXx

    @xXMacielloXx

    2 жыл бұрын

    420 😎

  • @quack2943

    @quack2943

    2 жыл бұрын

    isn't that the threat music for outskirts?

  • @jackliberson

    @jackliberson

    Жыл бұрын

    @@quack2943 it is

  • @BenDover-we3to

    @BenDover-we3to

    Жыл бұрын

    Fr bro

  • @onerimeuse
    @onerimeuse Жыл бұрын

    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)

  • @pixiri21
    @pixiri213 ай бұрын

    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)

  • @_marcinrakowski
    @_marcinrakowski Жыл бұрын

    Amazing presentation. Thank you for this.

  • @EmpireOfTheUnity
    @EmpireOfTheUnity4 ай бұрын

    Bob is Miros Bird confirmed?

  • @matthewexline6589
    @matthewexline6589 Жыл бұрын

    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

    @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

  • @RictorScale
    @RictorScale3 ай бұрын

    This is great thank you

  • @armemessser
    @armemessser2 жыл бұрын

    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

    @BenjaminBlodgettDev

    2 жыл бұрын

    That is a pretty good prediction of what the next method entails!

  • @AmirrezaGaming
    @AmirrezaGaming2 жыл бұрын

    very good

  • @dootiepatootie5209
    @dootiepatootie5209 Жыл бұрын

    Im not a game dev or anything but this stuff is so interesting

  • @yipperson2974
    @yipperson29746 ай бұрын

    4:38 wawawawawa

  • @umbranocturna6342
    @umbranocturna63422 жыл бұрын

    i will never use this, but great video

  • @SombreroMan716
    @SombreroMan716 Жыл бұрын

    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.

  • @Badsiner
    @Badsiner Жыл бұрын

    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

    @BenjaminBlodgettDev

    Жыл бұрын

    sorry I dont know what a soft roll is. can you elaborate?

  • @nulcow
    @nulcow Жыл бұрын

    I'm very concerned that I have to learn how to implement this stuff if I'm going to develop a Spore-like game.

  • @michelecini7600
    @michelecini76002 ай бұрын

    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

  • @equar628
    @equar6282 жыл бұрын

    Only if this resource was out when Randall was doing his IK stuff for arcana

  • @MigWith
    @MigWith11 күн бұрын

    4:12 of course rain world song HAHA!

  • @cirno6358
    @cirno635811 ай бұрын

    at 2:26 is it supposed to say if L1 + L2 < d?

  • @huraqan3761
    @huraqan3761 Жыл бұрын

    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

    @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

    @huraqan3761

    Жыл бұрын

    ​@@BenjaminBlodgettDev oh ok thanks!

  • @comnrade
    @comnrade21 күн бұрын

    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

    @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

  • @EKUL34
    @EKUL34 Жыл бұрын

    You said you would solve all 3 issues in this video in the next video, will you still be doing that video?

  • @BenjaminBlodgettDev

    @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.

  • @dylanpratt5081
    @dylanpratt50812 жыл бұрын

    this is a stupid question, but is the script at the beginning c#?

  • @BenjaminBlodgettDev

    @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

    @dylanpratt5081

    Жыл бұрын

    @@BenjaminBlodgettDev thank you, your explanation is really easy to understand and is a life saver!

  • @woahyogurtz
    @woahyogurtz19 күн бұрын

    i could recognize rain world music anywhere

  • @AmirrezaGaming
    @AmirrezaGaming2 жыл бұрын

    gg

  • @lewisguapo
    @lewisguapo7 ай бұрын

    Why not add a perlin?

  • @TheTogArt
    @TheTogArt8 ай бұрын

    0:10 What's the point of elbow_direction_sign here?

  • @tiqosc1809

    @tiqosc1809

    3 ай бұрын

    because each ik can have two solotion, one infront and one in back

  • @infamoustony
    @infamoustony4 ай бұрын

    Why the hell are you in mount Vesuvius

  • @tochka832
    @tochka8325 ай бұрын

    a bit too fast, but a great starting point into the topic

  • @asai5113
    @asai5113 Жыл бұрын

    Can I use this code in Mugen

  • @BenjaminBlodgettDev

    @BenjaminBlodgettDev

    Жыл бұрын

    yes

  • @thirdking7654
    @thirdking7654 Жыл бұрын

    Bruh I just want to input what I learn to scratch but you already threw me in the fire

  • @firecode1252
    @firecode1252Ай бұрын

    Let’s be real who didn’t watch this because of rain world?

  • @valboolin3538
    @valboolin35382 жыл бұрын

    bill gates - functhion

  • @BenjaminBlodgettDev

    @BenjaminBlodgettDev

    2 жыл бұрын

    what

Келесі