Giving Personality to Procedural Animations using Math

Поділитися
Вставка
  • Опубліковано 27 кві 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
  • Наука та технологія

КОМЕНТАРІ • 2,4 тис.

  • @t3ssel8r
    @t3ssel8r  9 місяців тому +84

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

    • @thanhlongtran9163
      @thanhlongtran9163 7 місяців тому +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  7 місяців тому +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 7 місяців тому

      @@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 7 місяців тому

      @@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 6 місяців тому

      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 Рік тому +9626

    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 Рік тому +353

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

    • @StalkinU
      @StalkinU Рік тому +185

      It'sa me! aaaaaaaaaaaaaaaaand he's gone.

    • @KrylogaX
      @KrylogaX Рік тому +80

      & .5 button presses

    • @papa_goobs
      @papa_goobs Рік тому +55

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

    • @TimeTravelingFetus
      @TimeTravelingFetus Рік тому +61

      This comment really raised my scuttlebugs

  • @ojonasar
    @ojonasar Рік тому +4032

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

    • @xhappybunnyx
      @xhappybunnyx Рік тому +312

      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 Рік тому +376

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

    • @LaplacianFourier
      @LaplacianFourier Рік тому +45

      Euler is the greatest mathematician ever.

    • @primenumberbuster404
      @primenumberbuster404 Рік тому +15

      Included in the Bucket List ✅

    • @yoyolol22
      @yoyolol22 Рік тому +4

      He would be so ashamed

  • @vex123
    @vex123 Рік тому +1677

    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 Рік тому +134

      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 Рік тому +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 Рік тому +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 Рік тому +8

      @@brightquark he used pole zero matching

    • @checkm8606
      @checkm8606 Рік тому +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...

  • @PPSzB
    @PPSzB Рік тому +591

    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 Рік тому +4

      what did you study in your physics degree?

    • @BatmanBeyondBelief
      @BatmanBeyondBelief 11 місяців тому +11

      I failed physics so hard but love the subject

    • @eyegenesys
      @eyegenesys 11 місяців тому +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 11 місяців тому +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 7 місяців тому +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

  • @jeffstienstra3615
    @jeffstienstra3615 Рік тому +1415

    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 Рік тому +78

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

    • @oxob3333
      @oxob3333 Рік тому +3

      @@ultimaxkom8728 i see what you did there

    • @AndrewMaller-qy8mo
      @AndrewMaller-qy8mo Рік тому

      CODEPARADE REFERENCE?!?!?!

    • @lukasfletcher4732
      @lukasfletcher4732 Рік тому

      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 Рік тому

      guess what, baby, technical is a SPECTRUM

  • @aarthificial
    @aarthificial Рік тому +1934

    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 Рік тому +85

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

    • @thejustlexa
      @thejustlexa Рік тому +104

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

    • @marlonruvalcaba386
      @marlonruvalcaba386 Рік тому +9

      UA-cam inception

    • @slydiogenes8796
      @slydiogenes8796 Рік тому +45

      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 Рік тому +8

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

  • @snakes001
    @snakes001 2 місяці тому +215

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

    • @demolition3612
      @demolition3612 26 днів тому +1

      Ikr

    • @helcostr6280
      @helcostr6280 23 дні тому +5

      i just used calc in a gamejam, so this suprised sentiment is very valid

    • @Bhrz
      @Bhrz 23 дні тому

      😂

    • @ArThur_hara
      @ArThur_hara 15 днів тому

      :O finally

    • @angelp3007
      @angelp3007 15 днів тому

      I can't believe this too xd

  • @vil3n80
    @vil3n80 Рік тому +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 11 місяців тому

      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.

  • @rohanselvan4339
    @rohanselvan4339 Рік тому +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 Рік тому +11

      Beat me to it

    • @wilurbean
      @wilurbean Рік тому +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 Рік тому +14

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

    • @georgeforester3366
      @georgeforester3366 Рік тому +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 Рік тому +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.

  • @fakestiv
    @fakestiv Рік тому +394

    The internet (and specifically UA-cam) 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 Рік тому +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 Рік тому +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 Рік тому +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

  • @TheMultipower47
    @TheMultipower47 Рік тому +173

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

  • @LucasLima-eh5to
    @LucasLima-eh5to 6 місяців тому +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!

  • @canadian_spaceman
    @canadian_spaceman Рік тому +970

    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 Рік тому +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 Рік тому +15

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

    • @tohamy1194
      @tohamy1194 Рік тому

      Exactly what I was thinking

    • @hrdwan2000
      @hrdwan2000 Рік тому +14

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

    • @dospuntospe
      @dospuntospe Рік тому +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.

  • @AdamCYounis
    @AdamCYounis Рік тому +2178

    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  Рік тому +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 Рік тому +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 Рік тому +2

      Adam!

    • @cameronlile2931
      @cameronlile2931 Рік тому +2

      Love you Adam

    • @RyuBateson218
      @RyuBateson218 Рік тому +3

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

  • @xXKIKOXx0
    @xXKIKOXx0 Рік тому +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"

  • @IanHamby
    @IanHamby Рік тому +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.

  • @stylextv
    @stylextv Рік тому +209

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

  • @zactron1997
    @zactron1997 Рік тому +262

    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 Рік тому +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 Рік тому +2

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

    • @steven7639
      @steven7639 Рік тому +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 Рік тому

      Instrumentation tech?

    • @deco90014
      @deco90014 Рік тому

      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

  • @DarkSwordsman
    @DarkSwordsman Рік тому +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!

  • @layneraczy9324
    @layneraczy9324 Рік тому +4

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

  • @samm6648
    @samm6648 Рік тому +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 Рік тому +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 Рік тому +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 Рік тому

      @@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 Рік тому +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 Рік тому +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.

  • @t0kinl3lunts
    @t0kinl3lunts Рік тому +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 Рік тому +3

      So true

    • @M1ndstorms
      @M1ndstorms Рік тому +5

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

    • @Michallote
      @Michallote Рік тому

      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

  • @ulaasKb
    @ulaasKb Рік тому +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.

  • @Sykkoss391
    @Sykkoss391 Рік тому +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 !

  • @adr1ssrb
    @adr1ssrb Рік тому +54

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

  • @t3ssel8r
    @t3ssel8r  Рік тому +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 Рік тому +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 Рік тому +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 Рік тому +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 Рік тому

      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 Рік тому +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 Рік тому +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

  • @notanimposter
    @notanimposter Рік тому +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 Рік тому +8

      I had the same thought watching this, super cool stuff

    • @Blazs120gl
      @Blazs120gl Рік тому +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).

  • @mosesalero8918
    @mosesalero8918 Рік тому +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.

  • @michaelross3061
    @michaelross3061 Рік тому +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!

  • @cantide1
    @cantide1 7 місяців тому

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

  • @Armadous
    @Armadous Рік тому +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  Рік тому +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 Рік тому +3

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

    • @t3ssel8r
      @t3ssel8r  Рік тому +11

      a bunch of calls to Handles.DrawLine lol

    • @Morphexe
      @Morphexe Рік тому +9

      @@t3ssel8r Ahaha, my kind of code xD

    • @sicktricks95
      @sicktricks95 Рік тому +11

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

  • @DokterKaj
    @DokterKaj Рік тому +32

    T3SSEL8R VIDEO YEAHHHHHH

    • @theonlyponguin
      @theonlyponguin Рік тому +3

      the only youtube notification i actually click on

  • @ethanedgington3561
    @ethanedgington3561 Рік тому +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

  • @connorking6497
    @connorking6497 Рік тому

    By FAR one of the best game dev videos on UA-cam. 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!

  • @jnewton1024
    @jnewton1024 Рік тому +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 Рік тому +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!

  • @max_power8510
    @max_power8510 Рік тому +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.

  • @OrangeJambo
    @OrangeJambo Рік тому

    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!

  • @joshuafino3560
    @joshuafino3560 Рік тому +451

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

    • @jong7100
      @jong7100 Рік тому +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 Рік тому +7

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

    • @DS-nv2ni
      @DS-nv2ni 11 місяців тому +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 7 місяців тому

      fuck yes

    • @peelysl
      @peelysl 7 місяців тому +1

      stop saying stupid things online

  • @zacharychristy8928
    @zacharychristy8928 Рік тому +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 Рік тому +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 Рік тому +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 Рік тому +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 Рік тому

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

  • @TheNanofrog
    @TheNanofrog Рік тому

    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 Рік тому

    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.

  • @ytkatz
    @ytkatz Рік тому +21

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

  • @nagoshi01
    @nagoshi01 Рік тому +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 Рік тому

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

  • @theBestInvertebrate
    @theBestInvertebrate 11 місяців тому +3

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

  • @millerbyte5579
    @millerbyte5579 Рік тому

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

  • @billy-cg1qq
    @billy-cg1qq Рік тому +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.

  • @RigoVids
    @RigoVids Рік тому +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

  • @jechoss1626
    @jechoss1626 10 місяців тому

    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 !

  • @yonlaycabrera4431
    @yonlaycabrera4431 11 місяців тому +5

    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.

  • @mr_clean575
    @mr_clean575 Рік тому +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 UA-camr 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.

  • @kriterer
    @kriterer Рік тому +41

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

  • @TheArachnoBot
    @TheArachnoBot Рік тому +12

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

  • @xXKIKOXx0
    @xXKIKOXx0 Рік тому

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

  • @Magnogen
    @Magnogen Рік тому +16

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

  • @KittehBit
    @KittehBit Рік тому +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 Рік тому +4

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

  • @cupiidinlove6809
    @cupiidinlove6809 11 місяців тому +3

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

  • @LucasGleason
    @LucasGleason Рік тому +2

    The concept procedural animation:exists
    My brain:rain world

  • @oddandrandom5771
    @oddandrandom5771 Рік тому +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  Рік тому +28

      thanks, means a lot

    • @muuubiee
      @muuubiee Рік тому +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 Рік тому +1

      this is undergraduate math lol

    • @Hersatz
      @Hersatz Рік тому

      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 Рік тому +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?.

  • @thebluriam
    @thebluriam Рік тому +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.

  • @dontsub6003
    @dontsub6003 Рік тому

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

  • @ianh3385
    @ianh3385 4 місяці тому +2

    I rewatch this video every couple months and each time I end up understanding more and more

  • @lepruconx
    @lepruconx Рік тому +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

  • @MaksymCzech
    @MaksymCzech Рік тому +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!

  • @atropa4111
    @atropa4111 Рік тому +1

    This gave me flashbacks to 2nd year engineering math at university. Someone else mentioned too but when we learn how to use Euler's method and Eigenvalues, we usually aren't given such a good explanation of how each of the terms interact with the graph specifically and how it can be useful. This video gave great perspective!

  • @JustP3DS
    @JustP3DS Рік тому

    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.

  • @prodnayah
    @prodnayah Рік тому +8

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

    • @user-ur8co1yn5l
      @user-ur8co1yn5l Рік тому +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.

  • @matthrew
    @matthrew Рік тому +7

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

  • @lucasfree3356
    @lucasfree3356 Рік тому

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

  • @Serendipity-nh2uk
    @Serendipity-nh2uk Рік тому +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.

  • @RaoulWB
    @RaoulWB Рік тому +4

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

  • @henkkok9437
    @henkkok9437 Рік тому +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.

  • @ekay10
    @ekay10 Рік тому +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.😁

  • @santinoagosti4272
    @santinoagosti4272 10 місяців тому

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

  • @Danjorito
    @Danjorito Рік тому +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

  • @pladselsker8340
    @pladselsker8340 Рік тому +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!

  • @mspeir
    @mspeir Рік тому

    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!

  • @ezrahuffman
    @ezrahuffman Рік тому

    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.

  • @enissen8250
    @enissen8250 Рік тому +4

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

  • @voxelfusion9894
    @voxelfusion9894 Рік тому +6

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

  • @FullMe7alJacke7
    @FullMe7alJacke7 Рік тому

    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!

  • @theisegeberg
    @theisegeberg 10 місяців тому

    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.

  • @Dampfaeus
    @Dampfaeus Рік тому +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!

  • @alex-rd
    @alex-rd Рік тому +25

    It's crazy to me how you explained second order systems intuitively in like two minutes, and it took my professor like a week.

  • @user-qm1wu1vf8k
    @user-qm1wu1vf8k Рік тому +1

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

  • @INDABRIT
    @INDABRIT Рік тому

    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

  • @arsteetz
    @arsteetz Рік тому +10

    As a engineering student its cool seeing systems and controls consepts in this way!

  • @maind7132
    @maind7132 Рік тому +3

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

  • @retrophyx
    @retrophyx 10 місяців тому

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

  • @bentehinkenhuis9357
    @bentehinkenhuis9357 Рік тому +2

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

  • @vulpinitemplar5036
    @vulpinitemplar5036 Рік тому +3

    I adore when procedural animations try to adapt to things like being on top of a tiny rock and one "foot" just can't decide if it wants to be stay on the rock or to be off the rock and decides to instead do a little tap dance.

  • @clover208
    @clover208 Рік тому +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

  • @xhappybunnyx
    @xhappybunnyx Рік тому

    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

  • @jcdkr1171
    @jcdkr1171 Рік тому

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

  • @arthurheuer
    @arthurheuer Рік тому +11

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

  • @HowDoYouKnowThough
    @HowDoYouKnowThough Рік тому +3

    This is very clear and well explained. Thank you.

  • @thejoojoo9999
    @thejoojoo9999 10 місяців тому

    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 !

  • @stevenshoemaker1618
    @stevenshoemaker1618 2 місяці тому

    There's something I love about the fact that you spent a solid 6 minutes explain complex math your average Uni STEM student could barely get a grasp on, before saying "now, as artists, we have all we need" right at 5:50. You aren't pompous or showy about the hard work you've put into discovering how this works - rather you're using this newfound knowledge to better a craft used to bring joy to the average person's life. Your skill isn't a tool that puts you above the fine arts, it enhances your skillset. That's really badass.