Giving Personality to Procedural Animations using Math

Sdílet
Vložit
  • čas přidán 7. 05. 2024
  • It's been a while since the last video hasn't it? I've made quite a bit of progress since the last update, and since one of the things I worked on was some procedurally animated characters, I decided to make a video about the subject. In particular, this video highlights the entire process from initial motivation, to the technical design, technical analysis, and game design considerations.
    Codeer's video on procedural animation: • Unity procedural anima...
    Twitter thread about rope animation: / 1470039981502922752
    Semi-implicit Newton's Method: en.wikipedia.org/wiki/Semi-im...
    Verlet Integration: en.wikipedia.org/wiki/Verlet_...
    Pole-Zero Matching: en.wikipedia.org/wiki/Matched...
    Math animations made using the community-maintained version of manim: www.manim.community/
    Timestamps:
    0:00 intro
    1:43 second order systems
    7:03 implementation
    8:55 testing
    9:50 stability
    13:30 conclusion
    Music:
    lofi geek - give me
    lofi geek - souls
    lofi geek - real
    lofi geek - two lifes
    lofi geek - lights
    #SoME2
  • Věda a technologie

Komentáře • 2,5K

  • @t3ssel8r
    @t3ssel8r  Před 9 měsíci +86

    For FAQ and a deeper discussion on this video, check out the writeup:
    www.patreon.com/posts/procedural-video-82487305

    • @thanhlongtran9163
      @thanhlongtran9163 Před 8 měsíci +2

      Small question: What happens if you just want y to be x? What value would f, z, r be? I try to solve for it, but
      1. The result is dependent on T. So if you have a variable framerate, you must update the value every frame
      2. In your writeup post, it impossible to derive the value from the fully implicit Euler

    • @t3ssel8r
      @t3ssel8r  Před 8 měsíci +4

      if you want y to be x, it corresponds to f=infinity. You can show that in the limit this results in y=x. k1 k2 and k3 all become 0, so if you really need to support it in code, the 0/0 would need a special case to handle.

    • @thanhlongtran9163
      @thanhlongtran9163 Před 8 měsíci

      @@t3ssel8r That's one way to do it, but k1, k2, and k3 can be non-zero. Because y = x and dy = dx, you just need to make sure k2*ddy = (k3 - k1)*dx. But the problem is after solving this, f, z, and r must be recalculated every frame because they are dependent on T.

    • @thanhlongtran9163
      @thanhlongtran9163 Před 8 měsíci

      @@t3ssel8r@ t3ssel8r Actually, k1/2/3 cannot be zero. Because y is updated by dy, and dy is updated by ddy, to make y equal to x, dy must be equal to dx. This means ddy can't be equal to zero, because if ddy is equal to zero, dy never changes. This means k1/2/3 must equal some non-zero/non-infinite value. Does it make sense, or am I missing something? Sorry if this sounds confusing, but math isn't my strong suit, and I just really want to solve this.

    • @thefastsnake3015
      @thefastsnake3015 Před 6 měsíci

      I’ve been trying to write this up in Desmos for a while now but I can’t figure it out, I wrote a function which takes a collection of points and translates it into a usable format but when I try to implement the formulas it either gives me lines ghat stretch way too far or lines that are just the input, and how does second derivative work for y? it always goes to 0 and the derivative of x is 1 so what’s the point of it?
      edit: NVM, I rewatched and noticed that you said that x is the dynamic change which would mean that my calc is wrong, I used the change as the y

  • @zaraimpala3962
    @zaraimpala3962 Před rokem +9686

    or you could leave the glitch in
    and in 10 years speedrunners are going to use their unlimited in game frame rate to backwards long jump into a parallel universe

    • @samic
      @samic Před rokem +356

      I started to think this is the reason why Elden Ring has this "Long Zipping" glitch used by speedrunners.

    • @StalkinU
      @StalkinU Před rokem +186

      It'sa me! aaaaaaaaaaaaaaaaand he's gone.

    • @KrylogaX
      @KrylogaX Před rokem +80

      & .5 button presses

    • @papa_goobs
      @papa_goobs Před rokem +55

      @@samic no, they cannot remove/fix it without completely overhauling a small part of the physics rendering, sadly.

    • @TimeTravelingFetus
      @TimeTravelingFetus Před rokem +61

      This comment really raised my scuttlebugs

  • @ojonasar
    @ojonasar Před rokem +4068

    Imagine being able to bring Euler into the present and show him the sort of things his maths has led to.

    • @xhappybunnyx
      @xhappybunnyx Před rokem +315

      Especially it being explained to the masses so well by a youtuber. It'd be one thing to see your own eq at a lecture hall but this just gives me tingles

    • @Secret_Moon
      @Secret_Moon Před rokem +381

      "Don't worry, you don't need math and physics to take animation class."
      Animation class:

    • @LaplacianFourier
      @LaplacianFourier Před rokem +46

      Euler is the greatest mathematician ever.

    • @primenumberbuster404
      @primenumberbuster404 Před rokem +15

      Included in the Bucket List ✅

    • @yoyolol22
      @yoyolol22 Před rokem +4

      He would be so ashamed

  • @vex123
    @vex123 Před rokem +1704

    I'm a controls engineer and this video was very fascinating. They really should be teaching this stuff in Universities with practical applications that students can understand rather than just raw math. Thanks for sharing!

    • @Narutodumbo111
      @Narutodumbo111 Před rokem +137

      This was my thought too! May have paid more attention in theory lectures if I was animating a robot rather than a MATLAB figure 😂

    • @brightquark
      @brightquark Před rokem +23

      I dont know why he's sticking with the time domain when complex Laplace transform and Pole Zero analysis make these problems much easier to analyse

    • @2horas
      @2horas Před rokem +32

      It took me a whole semester of learning this (while performing well on tests) to actually understand what the hell I was doing.
      It would certainly be good to have a more visual simulation instead of a dry graph.

    • @timeless8285
      @timeless8285 Před rokem +8

      @@brightquark he used pole zero matching

    • @checkm8606
      @checkm8606 Před rokem +21

      @@brightquarkwell Laplace does not do so well in mimo-systems... but here (as you said) Laplace would suffice...
      I guess it is more difficult to explain the whole laplace-transfo to someone who had no course for that in university...

  • @snakes001
    @snakes001 Před 3 měsíci +278

    o my god.... my .. my classes on linear algebra and calculus were useful???? what is going on here ???

  • @jeffstienstra3615
    @jeffstienstra3615 Před rokem +1432

    t3ssel8r: "...but to understand it properly, we'll have to get a bit more technical with our analysis." 9:42
    me: "hey whoa whoa, wait a sec...I thought we were being technical this whole time."

    • @ultimaxkom8728
      @ultimaxkom8728 Před rokem +78

      _"But first, we need to talk about parallel universes"_

    • @oxob3333
      @oxob3333 Před rokem +3

      @@ultimaxkom8728 i see what you did there

    • @AndrewMaller-qy8mo
      @AndrewMaller-qy8mo Před rokem

      CODEPARADE REFERENCE?!?!?!

    • @lukasfletcher4732
      @lukasfletcher4732 Před rokem

      I just came back to watch this video after a long time. When he got to that part I immediately remembered your comment. Even the second time around, very accurate description of my thoughts at that moment!

    • @seejay_through_life
      @seejay_through_life Před rokem

      guess what, baby, technical is a SPECTRUM

  • @canadian_spaceman
    @canadian_spaceman Před rokem +973

    You just walked me through my 3rd and 4th year engineering stability & controls class like it was nothing. Great content, and much appreciated on the refresher!

    • @Mrjcraft00
      @Mrjcraft00 Před rokem +63

      I’m glad someone else sees the engineering connection, it threw me for a loop. I’m taking a system dynamics class right now!

    • @koktszfung
      @koktszfung Před rokem +15

      @@Mrjcraft00 I learnt about this in a classical mechanics course

    • @tohamy1194
      @tohamy1194 Před rokem

      Exactly what I was thinking

    • @hrdwan2000
      @hrdwan2000 Před rokem +14

      I'm doing a differential equations and linear algebra class, it all clicks in place.

    • @dospuntospe
      @dospuntospe Před rokem +6

      I took a computational physics class earlier this year and I walked into this video expecting another thing completely, but was shocked when they resumed the core of the class beautifully in 15 minutes, what a great video.

  • @PPSzB
    @PPSzB Před rokem +597

    Now my physics degree pays off finally, I can understand what's happening in this random youtube video that youtube algorithm showed me. Btw. good content, the animations and the game looks gorgeous

    • @pvt.ltd.yt_industries
      @pvt.ltd.yt_industries Před rokem +4

      what did you study in your physics degree?

    • @BatmanBeyondBelief
      @BatmanBeyondBelief Před 11 měsíci +11

      I failed physics so hard but love the subject

    • @eyegenesys
      @eyegenesys Před 11 měsíci +13

      Not really when you consider the fact that people without physics degrees...or any degrees at all, can easily understand this video and replicate his implementation. Scientists, especially mathematicians, tend to ivory tower their knowledge presentation to seem more grandeur than it is to feed their ego. I believe thats considered having delusions of grandeur.

    • @DS-nv2ni
      @DS-nv2ni Před 11 měsíci +22

      ​@@eyegenesys You are totally right, the educational system is a failure.
      I have to talk every day with people with math, physics and engineering degrees, sometime even multiple, from Oxford to who-knows-who-rich-university, and when it comes to specific domain knowledge, they are like robots, can spit it out all by memory, but when it comes to use some common sense or to approach something in a different way, well... they are like robots indeed.
      Anyway, I believe that a degree is very helpful, for who has the correct mindset already, for the others is just a piece of paper and a bunch of words memorized to look good the day you need to say them.

    • @chips.3927
      @chips.3927 Před 7 měsíci +8

      Kinda disagree with you, not to feed their ego but rather just to merely explain how it works in scientific way ( Their brain are like programmed into this particular way of thinking in math, probably to explain more and more knowledge for others to know )@@eyegenesys

  • @vil3n80
    @vil3n80 Před rokem +397

    Having just taken my ODE course i didn't realize what i was learning. This made me appreciate all the pain and suffering i just went through

    • @DS-nv2ni
      @DS-nv2ni Před 11 měsíci

      Why you were watching this then? And why you came here to comment this exact message? Looks like propaganda pro-university. I notice many people like you feel the urge to defend themselves somehow. It's very odd.

  • @aarthificial
    @aarthificial Před rokem +1943

    Up until this point, I've been using the spring equation for all my procedural animation.
    How come I've never seen it written as a second-order system is beyond me.
    This is a perfect generalization.
    I'm absolutely stealing this.
    Thank you so much for making this video

    • @lonelyfloat2582
      @lonelyfloat2582 Před rokem +85

      Ooh, one of my favorite gamedev youtubers commenting on another one of my favorite gamedev youtuber's video!

    • @thejustlexa
      @thejustlexa Před rokem +104

      "I'm absolutely stealing this." practically a motto of game dev lol

    • @marlonruvalcaba386
      @marlonruvalcaba386 Před rokem +9

      CZcams inception

    • @slydiogenes8796
      @slydiogenes8796 Před rokem +46

      its not stealing, this is math. mathematical breakthroughs in fundamental understanding represents a milestone for all humanity, not just the discoverers. to try and stay away from them is to stand in the way of progress. in other words, you have a DUTY to use the techniques laid down by scientists before you to your own ends.

    • @pladselsker8340
      @pladselsker8340 Před rokem +8

      I'm happy to hear that the animations of the game are going to be even better than what they already were xD

  • @rohanselvan4339
    @rohanselvan4339 Před rokem +1551

    I am an engineering student, and I gotta just say I really appreciated the time you spent illustrating second-order damped responses with the little animations! It was awesome!

    • @donwackyaids1771
      @donwackyaids1771 Před rokem +11

      Beat me to it

    • @wilurbean
      @wilurbean Před rokem +18

      I'm an Engineering Physics student and I was studying co/contra-variant vectors for hw in a physics math class. Found this video and it's awesome to see all the crap we had to learn in such an elegant animation and idea

    • @Moggeth
      @Moggeth Před rokem +14

      Mechatronics engineering student here, adding my thanks to the pile!

    • @georgeforester3366
      @georgeforester3366 Před rokem +5

      I wish I could talk to all of you if you found going to university helped understand concepts in this video. I find programming alone is limiting me.

    • @MrJ3
      @MrJ3 Před rokem +7

      @@georgeforester3366 I think it does. Having a degree in Computer Engineering, I can tell you every concept mentioned in the video is something you come back to time and again in different courses. Even the thing mentioned at the end, ”pole-zero matching”. Videos like this are a good reminder that the things taught in academia have real applications, even as a programmer.

  • @TheMultipower47
    @TheMultipower47 Před rokem +174

    That direct swap between code and math was so helpful. One of the best explanation channels I have seen

  • @LucasLima-eh5to
    @LucasLima-eh5to Před 7 měsíci +44

    I’m having control classes at my graduation on computer engineering and this video showed absolutely everything was taught me… I’ve got so excited with the didatics that I even sent it to my teachers. Basically a resume of everything I saw like, frequency, zeta, stability, peak time, overload, poles…
    Wow! You should create a course of this, I definitely would take it!

  • @fakestiv
    @fakestiv Před rokem +395

    The internet (and specifically CZcams) has become such an important early source of information for those willing to learn more than what they are taught in high school that I find it extremely important for videos like this to exist... To show what actually goes into making this kind of things: from coming up with an analytical solution, to parametrizing it in an artist-friendly way, to finally coming up with a numerical solution that satisfies all prerequisites. This is extremely important for those who have access to all the information in the world but desperately need a direction... Having been there I really can't stress this enough...

    • @ollie-d
      @ollie-d Před rokem +7

      A lot of videos (this included) go beyond that and are more valuable than a lot of equivalent college lectures, even. In one of my machine learning classes as an undergrad, the professor showed us 3B1B's video on neural networks as an introduction. I'm now a PhD student and when I teach my students eigenvectors, I recommend 3B1B's video as a refresher, but also as a conceptual starting point for the inexperienced. I've seen hundreds of academic talks now in my early career and it's hard to think of more than a handful that are comparable or better in terms of clarity than videos like this, and I think people are sleeping on that. Personally I take a lot of inspiration from videos like this since visualizations are incredibly potent and really force you as the presenter to break things down into parsimonious chunks. The only obvious drawback is that making something like this takes more time than probably four weeks of upper-div lecture material haha

    • @adrianlowery7175
      @adrianlowery7175 Před rokem +5

      I think it shows the exciting ways that math can be applied in this world - ESPECIALLY ways that will grab young students' attention. I wish I stumbled upon videos like this when I was in middle school or high school, because I would have learned to actually give a shit about math.

    • @owlmaster1528
      @owlmaster1528 Před rokem +4

      @@adrianlowery7175 That is exactly the reason why we were not taught in that way. We would be too smart to control... All by design

  • @AdamCYounis
    @AdamCYounis Před rokem +2182

    Great stuff! I'm really not literate enough to understand the math, but your way of explaining these things made it really easy to see the effect and value of what you're doing. The results are seriously impressive, and your game is looking fantastic. Can't wait to see more :)

    • @t3ssel8r
      @t3ssel8r  Před rokem +352

      thanks! I had a feeling I went a bit hard on the math, but at least it's an honest presentation of the real process that usually happens behind the scenes.

    • @rustedfriend
      @rustedfriend Před rokem +65

      I feel the same way. I've been wanting to learn more of the types of math to do these things but didn't even know where to start with what types of math. This gave me a better general understanding of how it's applied but also more info on what to learn.

    • @BeingFriends
      @BeingFriends Před rokem +2

      Adam!

    • @cameronlile2931
      @cameronlile2931 Před rokem +2

      Love you Adam

    • @RyuBateson218
      @RyuBateson218 Před rokem +3

      Imagine an enemy coded by t3ssel8r and drawn by Adam. :O

  • @xXKIKOXx0
    @xXKIKOXx0 Před rokem +42

    seeing that last bit made me so happy. at first it went from "oh this is some really clean fluid movement" to "wow... i now understand the attention and effort behind such a beautifuly 'simple' movement"

  • @layneraczy9324
    @layneraczy9324 Před rokem +4

    Stumbled across this channel from Summer of Math, just finished binging all of your videos. This has instantly become one of my favorite CZcams channels. Keep up the amazing work!

  • @stylextv
    @stylextv Před rokem +209

    Damn, that robot looks so clean and feels so smooth. I especially like the shooting sfx.

  • @zactron1997
    @zactron1997 Před rokem +263

    I remember first getting taught this in an engineering course. At the time, the context was on how to design a control system for something like an industrial process or a machine to minimize "bad" effects. The interesting thing here is you're actually trying to reintroduce the negative effects we try to design out in control theory.

    • @hobbified
      @hobbified Před rokem +48

      Yeah, in real life it's physics that makes things lag and oscillate, and if you could design a PID loop to get a fast and crisp response (without bending the machine) it would be considered a perfect success. In the game world, there are no constraints coming from physics, but if we want to *add* constraints to make things look realistic, they end up taking almost the same form as the controller we use to fight against those constraints in the real world.

    • @Elonimous
      @Elonimous Před rokem +2

      I was first introduced to it in a circuits course analyzing 2nd order transitions

    • @steven7639
      @steven7639 Před rokem +2

      I took this kind of math in engineering school too. At the time, I had no idea what the application was. I blame my professor for being unrelatable.
      Now I understand exactly what it's used for and how to apply it. Awesome.

    • @deathcogunit106
      @deathcogunit106 Před rokem

      Instrumentation tech?

    • @deco90014
      @deco90014 Před rokem

      yeah, but it's nothing new really. The action of get a mathematical equations to mimic a real process(or system) behavior is very important to same people that use to control industrial process. It's commonly called modeling or system identification

  • @ulaasKb
    @ulaasKb Před rokem +4

    In Turkish, there is a saying as "Alaylı ve okullu kişi."
    It separates people according to the way of education or self-education in a subject.
    Alaylı(Self-taught): A person who has trained himself without the school education required for a profession.
    Okullu(Schooled): A person who has received the school education required for a profession.
    Both "Alaylı" and "Okullu" people are seen as the most competent and knowledgeable in a subject.
    These are the people who can convey and explain the best information on the subject.
    For you, I can say "You are both "Alaylı" and "Okullu".
    It was a great explanation. I wish my teachers were so devoted to teaching something when I was studying at university.
    Congratulations and thank you.

  • @t0kinl3lunts
    @t0kinl3lunts Před rokem +575

    Your explanation of the parameterized functions was better than that of my college professor, in an engineering class specifically on dynamics and controls, in less than 1/10th the time. Great job with the intuitive visuals!

    • @harrisonmunden2804
      @harrisonmunden2804 Před rokem +3

      So true

    • @M1ndstorms
      @M1ndstorms Před rokem +5

      Yep, took a semester of control systems and this video made more sense that that class

    • @Michallote
      @Michallote Před rokem

      I have this belief that all engineers must learn to program. Most of the older professors are getting outdated quickly by not incorporating interactive tools (specially if they built themselves). If I ever go back to university to teach my classes I DEFINITELY will create gorgeous animations every time I can. Already did for my own assignments, and blew teachers out of the water

  • @samm6648
    @samm6648 Před rokem +312

    If I may make a visual suggestion, I think it would be really cool if the robot stumbled backward in different ways (possibly procedural ways) when you smack it. Not only do I think that would give your damage more impact, but it could also open up another way to show off your procedural animation process. Lovely work dude, don't forget to take breaks! Love, Sam.

    • @NilesBlackX
      @NilesBlackX Před rokem +41

      This, 100%, impact being a critically important element of both animation and gameplay, this would probably have even greater impact than would seem immediately apparent.
      Very good idea, I really hope that he takes your suggestion.

    • @tuc_mage
      @tuc_mage Před rokem +14

      Well if I understood this video correctly, he has essentially already implemented this. The robot dynamically moves to a position. So if a force, such as an attack struck the robot, the desired position of the robot would move and robot would move accordingly to the implented physics, if he wanted the robot to move in a certain way to convey being pushed back, he could adjust the f zeta and r values.

    • @NilesBlackX
      @NilesBlackX Před rokem

      @@tuc_mage Wait, he's letting the physics solver take precedence over the procedural animation? I think I missed that part, is there a timestamp or something? Thank you!

    • @tuc_mage
      @tuc_mage Před rokem +1

      @@NilesBlackX his procedural animation system is based on physics, he has implented a physics system where the object reacts to the acceleration velocity and position of the desired location. It's not a complete physics simulation, but it does just what he has set it up to do.

    • @NilesBlackX
      @NilesBlackX Před rokem +3

      ​@@tuc_mage ohhhhh I wouldn't call just velocity + position anything close to a physics solver.
      As an example, for what you're describing, he needs to have not just collision but the location and vector of the hit, which this system doesn't have the mechanisms for currently.
      And that's not a small amount of additional work, we're talking a jump from 1st grade math (floating point multiplication) to calculus (bounding box of a convex hull). That's a non-trivial amount of work.

  • @connorking6497
    @connorking6497 Před rokem

    By FAR one of the best game dev videos on CZcams. Clear explanations of more advanced concepts that can be utilised for great effects. Appreciate you sharing this. Please keep it up! Game looks amazing aswell!

  • @cantide1
    @cantide1 Před 8 měsíci

    This video is *incredible*. The way you explained everything and the order was perfect. The visualizations. Everything. Thank you so much for making this.

  • @DokterKaj
    @DokterKaj Před rokem +32

    T3SSEL8R VIDEO YEAHHHHHH

    • @theonlyponguin
      @theonlyponguin Před rokem +3

      the only youtube notification i actually click on

  • @kriterer
    @kriterer Před rokem +41

    This is a proper devlog. These math-heavy videos are genuinely a thousand times more helpful than videos that gloss over the math

  • @IanHamby
    @IanHamby Před rokem +12

    I'm fascinated by this pixel shader you have. It's not just blurring it, edges are crisp and it looks like intentional pixel art.

  • @max_power8510
    @max_power8510 Před rokem +1

    Just watched this video. Became a new subscriber. I liked how you could see everything from concept, to game, to the mathematical inputs all in one screen. Great way to show your self when developing and as well as others. Again, awesome video. We all very much appreciate the huge amount of time you sunk into it because it turned out clear and visually easy to understand. Thank you.

  • @adr1ssrb
    @adr1ssrb Před rokem +54

    30 seconds in and I can already see that the quality of the video is phenomenal.

  • @t3ssel8r
    @t3ssel8r  Před rokem +158

    Errata:
    - there is a typo at 14:13 the velocity update should be using k1_stable instead of k1
    - one obvious performance optimization not mentioned in the video is to update the system at a fixed time step instead of the frame rate, so that T is constant, and all stability checks can be cached. this means the animation won't be as smooth as the display fps unless additional interpolation is applied
    - there are method other than semi-implicit Euler (for example, fully-implicit Euler) that are already unconditionally stable for the system in the video. These implicit methods require doing a bit more algebra up-front, but the implementation may ultimately be faster/simpler.

    • @derketzenable
      @derketzenable Před rokem +1

      I would suggest iterating multiple times in case of delays.
      We can choose a fixed duration that the delta time should not exceed, let's say 0.016 (60 fps).
      Than, in case we got a frame with a delta time of 0.25 we should run our calculation logic 15 times with a delta of 0.016 and 1 time with a delta of 0.01.
      var processedTime = 0
      var fixedDeltaTime = 1 / 60
      while processedTime < deltaTime {
      processedTime += fixedDeltaTime
      if processedTime < deltaTime {
      RunOurCalculations(fixedDeltaTime)
      } else {
      RunOurCalculations(deltaTime - (processedTime - fixedDeltaTime))
      }
      }

    • @SGGhostRider
      @SGGhostRider Před rokem +7

      Nice video, although i would have really liked something MORE "approachable"... you went too hard on maths, more specifically equation algebra math, not the linear algebra math which is at least more understandable... 🥲
      Out of the 15 min video, 6 mins are shifting around gibberish, and 5 min shifting around gibberish with nice graphs... and almost all the remaining are visual examples of the results(which are nice, i like examples and results) and just like 20 seconds of code example.
      The concept and the idea are well explained, but no clue on how you actually implemented this in your game. Top tier video for a math channel, but if you are planning into do game dev content(as i guess by watching your channel uploads) i suggest you to take simpler approaches in your videos.
      I think it's the second or third time i stumbled on your channel as i do a lot of game dev, new techniques and game mechanics research and your videos just pop into my recommendations, but I feel like they just present cool ideas/concepts but leaves too much of "do your own research afterwards" and/or "you already should know what i'm talking about" feelings... so i usually end up leaving more confused than smarter(and probably the reason i'm not subscribed yet)... lol
      If you would accept my humble recommendation, if you are gonna present math, try presenting it in a simple way instead of pure equations, i get it, you like maths, you are proud of it, but many of us don't share that enthusiasm, most of us came here to your videos seeking knowledge about how to improve our games, not be defeated by one of our school enemies(math cough)...
      The equations are nice to have, but please explain it by simple means afterwards and give code examples, as me, most people interested in game development don't know how to read complex equations with strange to us constants as we don't use them ever, and added to that in 15 seconds you shift the equations like 5 times, i don't even know what most of the constants means or how are you using them, i want to make cool games, not comprehend the essence of what moves the universe, but i'm not stupid, if you put it in code(literally, any high level programming language) i will understand it, because code is made in a way to make everything simple.
      I did not knew what the heck was going on until i paused the video at 13:05 and started going through the little code you put on screen, then i started to get a grasp of what was going on and things started clicking here and there, but still some things were guesses as how you implemented it in game as you showed zero examples of usage... i guessed that you are using the position and/or rotation vectors of chosen joints or moving objects to apply the formula on, using the previous stored result and the current values, but you don't explain anything of that on detail...
      Seriously, more practical examples and in game implementation examples(code) side by side with in game visuals of the results are much more helpful than heavy theory, equations and theory. IMHO this approach is mostly ASMR to the regular youtube user, closer to "two minute papers" than to "How to rig a hand on blender tutorial", hope that changes as you grow your channel, peace

    • @JasonSmith-jv7wl
      @JasonSmith-jv7wl Před rokem +4

      @@SGGhostRider I somewhat agree to this myself. The reason I say somewhat is because this video, and the aim assist, really makes me want to learn these mathematical concepts.
      That said, I would have loved a small breakdown of the equations into code a ton though. These effects are absolutely gorgeous and having a simpler “onboarding” to the concepts while given information on the deeper math behind it would be truly next level stuff.

    • @fuyuminekimaya7571
      @fuyuminekimaya7571 Před rokem

      this 3d to pixel art effect. is it a shader? how did you make it, it looks so cool. is there a tutorial for it?

    • @Rusrik
      @Rusrik Před rokem +10

      @@SGGhostRider I disagree completely. There are more than enough videos for game dev out there which remain shallow in the concepts they present. Here we have a creator who instead of watering it down expects the audience to actually **have** the minium knowledge each and every developer _should_ have. Development _is_ Maths and while it is true that many, many things nowadays can be made without understanding the concepts behind it, and most often one does not need to know and understand it all, I personally like this channel especially _because_ it is presenting concepts in a nice, digestible way _for people who have an actual Computer Science background_. There are a lot of content out there which is less 'advanced', it is nice to also have 'advanced' high-quality stuff. Please do not change that, t3ssel8r.

  • @IgansioYT
    @IgansioYT Před rokem +13

    I'm not a gamedev but this might be one of the most interesting videos I've seen on this area. As an engineering student I'm so happy to see such a cool implementation of maths into coding. And the way you portrayed it makes it very easy to understand

  • @OrangeJambo
    @OrangeJambo Před rokem

    I just wanted to say, I watch your vids every few months & I am always impressed to see you answering questions here.
    Would love to see a tutorial about ANYTHING you'd be able to share. Even if it were unrelated to the rendering pipeline, you've got a great touch!

  • @zacharychristy8928
    @zacharychristy8928 Před rokem +294

    As a computer engineer, I never thought Id see the math for closed-loop control systems popping up in procedural animation, but here we are, lol.
    Edit: State space representation? Now there's a name I haven't heard in a long time....

    • @danielalorbi
      @danielalorbi Před rokem +13

      A bit unrelated but are you interested in ML? If so you might be surprised to hear that State Space Representations are making a comeback, via the Structured State Space Model, aka S4 (The extra S comes from the title of the paper that introduced it)

    • @zumszum
      @zumszum Před rokem +11

      As an electrical engineer the moment i saw the equation and graphs i thought "oh, a basic PID parameters of pretty much every motor controlling frequency inverter". It`s such a cool universal concept of describing dynamics of real life elements.

    • @TheBigW300
      @TheBigW300 Před rokem +7

      @@zumszum as a computer engineer i was like "shit this has practical applications other than radio antennas and line following robots"

    • @dandan-gf4jk
      @dandan-gf4jk Před rokem

      @@TheBigW300 Can you expand on how this is used in radio antennas? Can you point to some reading material where you got that from?

  • @mosesalero8918
    @mosesalero8918 Před rokem +96

    This guy just made my 3rd and 4th-year engineering math and control classes look more interesting than they actually were.
    If I was taught like this I'd definitely appreciate those college topics more. Great video must have taken a lot of time and effort making it.

  • @TheNanofrog
    @TheNanofrog Před rokem

    There's so much knowledge in this tiny thing. It's just extremely beautiful.
    I hope your skillset is beeing fully appreciated where you work.

  • @Foll3tt3
    @Foll3tt3 Před rokem

    Your attention to detail is breathtaking despite the fact that I had rewatch most of your explanations on derivatives and interpolation curves; I truly enjoy your videos. Its been 8 months since your last. I hope to see more of your elaborate videos explaining more of your findings. With that said, I hope you keep up the great work.

  • @jnewton1024
    @jnewton1024 Před rokem +43

    Well done! Thank you for including the math in these videos. I'm sure it adds a lot of editing time but it helps me (an engineer) follow exactly what your purpose and solution is.

  • @DanielBakerN
    @DanielBakerN Před rokem +39

    My background is in control theory and state estimation. Really awesome explanation of how you applied things. I've always wondered how control theory works its way into game design and I appreciate you took the time to show that in your video. Awesome work!

  • @millerbyte5579
    @millerbyte5579 Před rokem

    Your explanation and the accompanying animations are stunning! Please, keep making these!

  • @jechoss1626
    @jechoss1626 Před 11 měsíci

    Honestly, I knew all the math stuff presented here but the way you conveyed it was so clean and result is beautiful. Very well done, congrats !

  • @Armadous
    @Armadous Před rokem +61

    I love the curve visualization in the inspector. I have no thoughts on how to abstracted this to general use, but an easing system like this is something I'd be excited to see on the asset store. I recently had extreme struggles getting a missile to track into a moving target with a last minute exaggerated swooping motion. This video might be the context I need to do better.

    • @t3ssel8r
      @t3ssel8r  Před rokem +28

      admittedly, I don't use that inspector in my actual project and only made it for the video, but it might be a pretty good idea to make it into a little self-contained asset.

    • @Morphexe
      @Morphexe Před rokem +3

      @@t3ssel8r Out of curisity how did you draw the curve in the inspector ?

    • @t3ssel8r
      @t3ssel8r  Před rokem +11

      a bunch of calls to Handles.DrawLine lol

    • @Morphexe
      @Morphexe Před rokem +9

      @@t3ssel8r Ahaha, my kind of code xD

    • @sicktricks95
      @sicktricks95 Před rokem +11

      @@t3ssel8r Could you please share the code for your inspector visualization?

  • @notanimposter
    @notanimposter Před rokem +95

    I never really considered how similar it is taking error out of a rig (e.g. with a PID controller) to putting deliberate error into a rig

    • @jetblack5941
      @jetblack5941 Před rokem +8

      I had the same thought watching this, super cool stuff

    • @Blazs120gl
      @Blazs120gl Před rokem +3

      Yeah, my first thought was at 1:53 that this calls for a PID controller where I have a lot of freedom with the terms to tune smoothness, speed or overshot (if desired).

  • @Sykkoss391
    @Sykkoss391 Před rokem +13

    I'm a gamedev programmer but my math knowledge is pretty limited. I tried to keep up during the whole video and at the end you slip a fully new equation with a text saying "Too hard to explain" as I'm pulling my hairs trying to understand how you computed this all and got it to work xD
    Animations and all are dope and you are really giving yourself to make us understand your thinking process which I value very much.
    Thank you for this video !

  • @cupiidinlove6809
    @cupiidinlove6809 Před 11 měsíci +3

    i did not understand a single word in this entire video but it was so fascinating that somehow I still understood.

  • @billy-cg1qq
    @billy-cg1qq Před rokem +19

    The programmer I aspire to become. Knowing mathematics and equations, and mixing them with computations and iterations ❤ You're living my dream ❤
    All greatness and success to you.

  • @oddandrandom5771
    @oddandrandom5771 Před rokem +120

    This video really made me wanna relearn all my highschool math lessons. This is my first time feeling so excited and intrigued about learning math. Great video, surprisingly inspirational lol.

    • @t3ssel8r
      @t3ssel8r  Před rokem +28

      thanks, means a lot

    • @muuubiee
      @muuubiee Před rokem +34

      This math is a bit above high school math. You'll need at least uni level single variable calculus, linear algebra, and then ordinary differential equations.
      Personally I feel like maths is much better to study than something like computer science if you wanna do game dev... Although there are a few critical courses in Computer science, but can be boiled down to just needing to do some low-level programming/assembly (with cache knowledge).

    • @DogeMultiverse
      @DogeMultiverse Před rokem +1

      this is undergraduate math lol

    • @Hersatz
      @Hersatz Před rokem

      Do it!
      Good old trigonometry an vector formulas can get you too a lot of sweet spots for basic video game needs (distance, angle, direction)

    • @Devilextremeful
      @Devilextremeful Před rokem +5

      @@muuubiee You cover everything you have mentioned in a regular CS program unless the math you need is way above partial differential equations. Do you need things such as topology or something in higher level maths?.

  • @theBestInvertebrate
    @theBestInvertebrate Před 11 měsíci +3

    Suprisingly good overview of fundamental controls concepts in a place I was not expecting. Good job.

  • @lucasfree3356
    @lucasfree3356 Před rokem

    after browsing through so many channels. Yours is by far the best. The explaining thod is so great and detailed even complex stuff is

  • @ytkatz
    @ytkatz Před rokem +21

    Thrilled to see the inclusion of instability situations and how to deal with them. Extremely well done!

  • @nagoshi01
    @nagoshi01 Před rokem +34

    As soon as I saw the responses to the curve before the step response section, I immediately thought back to my Control course in my degree. As an EE, it is very satisfying to see this used to approach such a fun example as video game animation. Good video!

    • @TruongNguyen-bl4vd
      @TruongNguyen-bl4vd Před rokem

      so f, zeta and r just turn into PID. A cheme with PTSD from control course.

  • @santinoagosti4272
    @santinoagosti4272 Před 11 měsíci

    This is the best video I've seen in a long time. Just amazing. Thank you very much, please keep them coming!!!

  • @JustP3DS
    @JustP3DS Před rokem

    I remembered seeing this video a while back, and it was an amazing how some minor changes could give so much life to motion with maths. Then I couldn't find it again. It came up on my feed today, and I'm glad to see it again :) Really good in-depth description of the maths and its relationship to the motion.

  • @joshuafino3560
    @joshuafino3560 Před rokem +451

    this video was better at explaining ODEs than all of my undergraduate math courses combined.

    • @jong7100
      @jong7100 Před rokem +19

      No it wasn't. It was a quick overview and that's it. The meat of the material was taught in your courses.

    • @devatsdb7
      @devatsdb7 Před rokem +7

      @@jong7100 such classroom joke he is.. i wish i wasn't like him during my college years.

    • @DS-nv2ni
      @DS-nv2ni Před 11 měsíci +13

      You are right, I don't understand why all these people are hating, there is like an ongoing propaganda pro-university? Or is a matter of fragile egos offended? You can see the trend not only in this comments section, almost everywhere online, I think it coincides with low level payment for high level jobs, that is increasing the frustration of people getting out with a good degree to then have a miserable work experience, I have some coworkers that confessed that to me at least, I don't know if it applies to others as well, but I would say that is related somehow.

    • @varunahlawat9013
      @varunahlawat9013 Před 8 měsíci

      fuck yes

    • @peelysl
      @peelysl Před 7 měsíci +1

      stop saying stupid things online

  • @mr_clean575
    @mr_clean575 Před rokem +16

    This was absolutely fascinating, and I love the visualization you used to describe abstract concepts. A lot of the math went over my head, but even as a layman I was able to understand the general idea of what each iteration of the math was doing, or trying to prevent. I would love to see more procedural animation videos!
    Also, I would LOVE to see some kind of mash-up between you and another CZcamsr named "Rujik the Comatose". He is working on some similar pixel art, procedural animation, type videos, and I think the different technical background that each of you guys bring would create some really cool visual styles.

  • @dontsub6003
    @dontsub6003 Před rokem

    You make the most interesting devlogs ive ever seen and i love your 3d pixel style. Please post another soon!!

  • @michaelross3061
    @michaelross3061 Před rokem +34

    "As artists".. **sweats** they are gonna find out that I'm a programmer 😅 Always love a video about fixing timesteps. Thanks for the perspective!

  • @Magnogen
    @Magnogen Před rokem +16

    Beautiful diagrams, and I'm loving the different ways you've shown to play with procedural animation!

  • @DarkSwordsman
    @DarkSwordsman Před rokem +35

    I really don't know much about this level of math, but I really appreciate the way you explained it. I still don't understand it on a technical level, but seeing the implementation and clear connection between things like you explained, it makes it easier to understand on a higher level, especially with your demonstration and comparison to traditional keyframes. I also anticipate that this will be a great study guide for me to learn the more specific terms, math, and other things, so thanks!

  • @LucasGleason
    @LucasGleason Před rokem +2

    The concept procedural animation:exists
    My brain:rain world

  • @FullMe7alJacke7
    @FullMe7alJacke7 Před rokem

    Sir, please do more videos like this! I personally struggle with understanding formulas and math in general but I was actually able to understand this for the most part.
    This video was very informative and interesting to watch, thank you!

  • @thebluriam
    @thebluriam Před rokem +4

    Seeing all of this demonstrated within the context of video game animations, and having it visualized within Unity's IDE, goes an extremely long way educationally. This is the first video I've encountered from the t3ssel8r channel but if the rest are this good, I'm going to be super hooked.

  • @lepruconx
    @lepruconx Před rokem +18

    I know I learned a lot of this last year in diff eq, but I have since then forgotten nearly everything from that class. This was a really nice review, made things very easy to understand

  • @yonlaycabrera4431
    @yonlaycabrera4431 Před rokem +6

    Oh men, I feel soooo envy. How in the earth you can make sense of all of those numbers while making such a beautiful result. Thanks for sharing your expertise with the rest of us.

  • @xhappybunnyx
    @xhappybunnyx Před rokem

    This is the creme of the crop type of youtube vid. Well explained, amazing self-made examples to go with, great visuals, and feels like something I should be watching in a lecture hall. Thank you for the content

  • @MaksymCzech
    @MaksymCzech Před rokem +28

    Amazing. Thank you for your video. I've been studying control theory for 5 years in Robotics course, and it's nice to see it being put to good use!

  • @RigoVids
    @RigoVids Před rokem +19

    I’ve found throughout my years as a hobbyist animator that nobody seems to know how to use motion interpolation despite its simplicity in most video editing software. The simple animation you provided at the start of the video will hopefully encourage more people to use the tools provided to them in a more meaningful way

  • @theisegeberg
    @theisegeberg Před 10 měsíci

    Thank you from the bottom of my heart for this guide. It came at the exact right time for me. Amazing that you sat down to make such a good explanation of something so difficult to understand.

  • @ethanedgington3561
    @ethanedgington3561 Před rokem +39

    As a game developer struggling through Differential Equations in University… thank you! This video has been a huge encouragement to strive onward and continue learning

  • @henkkok9437
    @henkkok9437 Před rokem +3

    Hmm, for me this hit the spot! Thank you for a clear presentation, and showing how to approach a solution mathmaticly. And as added bonuses: mix in euler’s method and matrices and eigenvalues. Immensely enjoyed this one, thank you.

  • @TheArachnoBot
    @TheArachnoBot Před rokem +12

    You manage to teach game design and math at the same time?! You're amazing!

  • @INDABRIT
    @INDABRIT Před rokem

    Really slick animations, your game looks amazing! I took diffeq and numerical methods a couple years ago, fun to see it come up again. You did a great job explaining/animating it as well

  • @shanecelis
    @shanecelis Před 7 dny +1

    Dang, that pixelated look is too good to be true. Nice video.

  • @matthrew
    @matthrew Před rokem +7

    i read the video title as:
    ,,Giving Personality to Procedural Animations using Meth''
    i immediatelly clicked

  • @voxelfusion9894
    @voxelfusion9894 Před rokem +6

    Wow, you finally gave me an appreciation for the "fun" matrix math I had to learn in my second semester. Awesome!

  • @user-qm1wu1vf8k
    @user-qm1wu1vf8k Před rokem +1

    This is amazing! A great job has been done. The video is interesting, beautiful and inspiring.

  • @ezrahuffman
    @ezrahuffman Před rokem

    This is super cool. Been wanting to do some procedural animation for a while now and it was really cool to see what you were able to do with some realatively simple math. Definetly going to give it a try.

  • @prodnayah
    @prodnayah Před rokem +8

    I didn't think maths could ever make a convincing and appealing animation. This is really interesting

    • @user-ur8co1yn5l
      @user-ur8co1yn5l Před rokem +4

      In general, accurate physics simulations, for example fluid simulations or planetary motion, is guided by math (often differential equations). Surely that kind of simulation could be considered a type of procedural animation? They are often convincing and visually appealing.

  • @Danjorito
    @Danjorito Před rokem +3

    I learned all the theory for this in a control course in uni and it's really interesting to see it applied somewhere other than industrial plant control in a very logical way, great video I loved it

  • @mspeir
    @mspeir Před rokem

    It's been 8 months since an update! I hope everything is going OK. I just found your channel and absolutely love the game aesthetic. Please keep us updated!

  • @Serendipity-nh2uk
    @Serendipity-nh2uk Před rokem +2

    First of all, I can't believe I found you just now. Second of all, your videos are awesome so please never stop uploading.

  • @Dampfaeus
    @Dampfaeus Před rokem +3

    This video covers all the basics of motion in game programming for beginners, together with a lot of math. This video will be a great recommendation!

  • @enissen8250
    @enissen8250 Před rokem +4

    Awesome video! Just took a computational science course last term and didnt expect to see these kind of things applied in animation.

  • @peacefusion
    @peacefusion Před 10 měsíci

    I'm glad you shared this video. It's always refreshing to see real feedback and more content about these mechanics.

  • @ekay10
    @ekay10 Před rokem +1

    The robot animation is driving me nuts!😱
    This just changed my entire perspective of pixel art games. I might even be doing my 3d game in pixel art now. I'm definitely binging everything on you channel.😁

  • @clover208
    @clover208 Před rokem +4

    this is interesting to say the least, I'm currently studying most of what you said in the video and it sounds so much more interesting knowing that I can use it in my games lol, thanks for the nice explanations

  • @RaoulWB
    @RaoulWB Před rokem +4

    You're reigniting my passion for maths, that was incredibly elegant.

  • @lucretius1111
    @lucretius1111 Před rokem

    Amazing lecture! Graphics made it really intuitive, and love the sound track.

  • @jcdkr1171
    @jcdkr1171 Před rokem

    your work is really good idk how it looks so amazing, but i really loved

  • @pladselsker8340
    @pladselsker8340 Před rokem +6

    I love this video.
    I never thought about animations as stableizable dynamical systems. I'm making a boss battle bot in rocket league that modify the physics of the game and lets you play in a boss fight, and I think this technique could greatly improve the movements of the boss. I found by myself the first order dynamics model you mentionned in the video, and it's working fine. Plus, you don't really have to apply further analysis on it, as it's already very stable, no matter the timestep. That being said, I like the wobbly features that the second order model gives, so I really want to give it a try now!
    Anyways, thank you for sharing your work!

  • @arthurheuer
    @arthurheuer Před rokem +11

    whoever you are, you're amazing and deserve more subscribers. liked and subscribed

  • @xXKIKOXx0
    @xXKIKOXx0 Před rokem

    man. ur game ideas and knowledge has a warm spot in my heart. i think ur my game design hero

  • @thejoojoo9999
    @thejoojoo9999 Před 11 měsíci

    Wow, just wow.
    Incredible video man. I don't know anything about game design (and I don't intend to make one anytime soon) but it was such an interesting video !
    Your explanations were super clear and the animations very helpful.
    It helped me understand what all of my courses in signal processing, system control etc can actually do !

  • @KittehBit
    @KittehBit Před rokem +132

    Love your demos and explanations. This one is.. next level :D
    Can you eventually do one on how you render/shade/compose such a good "Pixel Art" style? The lines are very clean. :O
    Pretty please? :)

    • @LeaHayes
      @LeaHayes Před rokem +4

      It would be really interesting to learn how you approached the shading on these. The outlines are very clean

  • @HowDoYouKnowThough
    @HowDoYouKnowThough Před rokem +3

    This is very clear and well explained. Thank you.

  • @Pixels4Games
    @Pixels4Games Před 10 měsíci

    This is so epic. You did unbelievingly awesome job. Much better than I do. I can't wait for more of your videos. Keep up the great work.
    - Dan

  • @bentehinkenhuis9357
    @bentehinkenhuis9357 Před rokem +2

    Thank you for sharing this! We have had a breakthrough in our visual perception research due to the differential you presented here 👏

  • @hsadragblade613
    @hsadragblade613 Před rokem +3

    I learned about solving differential equations using euler's method in my university physics class and about eigenvalues in my linear algebra class and I wish I had found this video back then. It would have been such a cool visualization of the concepts I was learning.

  • @maind7132
    @maind7132 Před rokem +3

    literally not even a minute in and i'm flipping gushing over how cool this is wth

  • @eboatwright_
    @eboatwright_ Před rokem +1

    WOOW! This channel is amazing! I love the pixel 3d graphics art style of this game

  • @maickelvieira1014
    @maickelvieira1014 Před rokem

    i cannot express my happiness right now, when i saw this video on launch i didnt understand nothing, and after slowly studying and researching on varios topics i can come back to this video and understand it way better, hope in some time come back and get way more insights in many more stuff, thx for the video