What's The Deal With Procedural Animation?

Поделиться
HTML-код
  • Опубликовано: 19 июн 2024
  • Get SPARK: spehleon.gumroad.com/l/ylxsd
    Detailed guide to making IK systems: github.com/SpehleonLP/IK-Guide
    Procedural sound effects for games: github.com/pdJeeves/Chiptune-...
    Chapters:
    00:00 - Intro
    00:22 - What is Procedural Animation
    01:45 - Inverse Kinematics
    02:50 - Why use procedural animation?
    04:30 - Gait Systems
    07:15 - Retargeting
    10:06 - SPARK
    In this comprehensive video, I delve into the fascinating world of procedural animation in games. I explore various aspects of procedural animation, focusing on armature animations for animals and robots, and the context in which these animations are used.
    Key Topics Covered:
    What is Procedural Animation?:
    We start by defining procedural animation and discussing its difference from traditional animation, using examples from iconic games.
    Exploring Inverse Kinematics:
    A deep dive into inverse kinematics, its role in animation, and how it differs from traditional animation in expressing a character's internal state.
    Challenges and Solutions in Procedural Animation:
    We address the complexities of procedural gait systems, the difficulties in capturing dynamic movement, and the limitations of traditional animation in this context.
    Game Adaptations and Retargeting:
    Insights into how games adapt animations for different characters and the challenges of retargeting animations across different character models.
    Hybrid Animation Solutions:
    I introduce SPARK, a tool for creating animations for full-body inverse kinematics systems, and discuss its features and advantages in game design.
    Conclusion:
    I conclude that procedural animation is not a binary choice but should be used alongside traditional animation to enhance flexibility and realism in game design. I encourage viewers to suggest additional resources in the comments.
  • ИгрыИгры

Комментарии • 49

  • @GeatMasta
    @GeatMasta  6 месяцев назад +2

    Support me, Get SPARK: spehleon.gumroad.com/l/ylxsd
    Detailed guide to making IK systems: github.com/SpehleonLP/IK-Guide
    Soon we'll be back to our regularly scheduled programming of gamedev shitposting!

  • @miversen33
    @miversen33 6 месяцев назад +11

    This is really interesting! The music is quite distracting though, I would highly consider a quieter more "background" song.
    Great info and content though! A great look into various approaches to animations :)

  • @FlatThumb
    @FlatThumb 6 месяцев назад +59

    this video is RIGGED!

    • @NeoShameMan
      @NeoShameMan 6 месяцев назад +3

      You are just trying to get under his SKIN

    • @alex.g7317
      @alex.g7317 6 месяцев назад

      No, it’s FRAMEBYFRAME!

  • @bourbonbobo
    @bourbonbobo 6 месяцев назад +13

    Nice video. For me as a programmer and artist procedural andimation is ideal, especially through the use of spring damper systems and custom interpolation curves you can get some of the most playful animation possible. Though it has to be the right use case and character design approach as I think this video illustrates by taking a look at a variety of approaches from existing games.
    I still have so much learning to do, but I'm committed to programmatic animation as a common design pillar in many games I want to make. Personally I think you can apply the same theories and techniques to, programming that traditional animation uses to achive more expressive motions. This field being more recent, still has some maturing to do. Like traditional animation it requires an understanding of physical dynamics and a dedication to improving the craft.
    I think these approaches aren't so different, in terms of the things you need to consider to achieve good results, just the knowledge and skillset you need to execute them well.

    • @fewbronzegames
      @fewbronzegames 3 месяца назад

      yeah i think where they win for sure is in AI characters because you kinda just can't hand animate everything they might be able to do

    • @moldman5694
      @moldman5694 20 дней назад +1

      I agree, you can absolutely make procedural animation expressive, it just takes the same knowledge required for good traditional animation.

  • @chameleonedm
    @chameleonedm 6 месяцев назад +6

    Bro I am stoked that youtube shoved this into my feed. Super super informative, even about random topics like dog walking! New sub for sure, I'll hold my sub 100 badge high when you blow up sir

  • @4.0.4
    @4.0.4 5 месяцев назад +2

    Really liked this video. I somehow never thought of those annoying "follow the NPC" quests as how my dog has trouble keeping the same pace as me.

  • @johnmaris1582
    @johnmaris1582 6 месяцев назад

    Omg walking animation done really really accurately is a lot more complex than I realised. Good job in showcase us the nitty gritty of physic simulation.

  • @BlueSquareInWhiteCircle
    @BlueSquareInWhiteCircle 6 месяцев назад

    Geat take, very concise and to the point!

  • @whirling-lights
    @whirling-lights 6 месяцев назад +1

    Very informative.

  • @honaleri
    @honaleri 6 месяцев назад +6

    Amazing video. Exceptionally informative.
    I think the field of procedural animation is young, underdeveloped, and far from optimized. Several techniques mentioned made me immediately feel this sense of "but why not add this?", as in there was some missing component to the method keeping it from being well executed. I'm not yet the programmer to fill in those gaps in any practical way, but theoretically, I see where improvements can be made to turn these systems into something more organic. I have a lot of hopes for procedural animation in my future game, so I'd like to learn even more about how its implemented and how I might adjust things in the future.
    Regardless, if you post more content with this similar quality, I'm in to see it.
    Thanks so much for sharing.

  • @El-Burrito
    @El-Burrito 4 месяца назад

    Something interesting I saw recently related to targeting was a dev showcase by the Dragon's Dogma developers on how they can re-apply the animation to an aribitrarily scaled monster and have it work correctly at any size

  • @samllea1
    @samllea1 6 месяцев назад +2

    Nice video! Keep it up and dont stop!

    • @GeatMasta
      @GeatMasta  6 месяцев назад +1

      Thanks, will do!

  • @silphv
    @silphv 5 месяцев назад +4

    Some referenced videos:
    Giving Personality to Procedural Animations using Math (t3ssel8r)
    ruclips.net/video/KPoeNZZ6H4s/видео.html
    The Rain World Animation Process (GDC)
    ruclips.net/video/sVntwsrjNe4/видео.html
    Generating Monsters : BEAST SOCKET Devlog 01 (RujiK the Comatose)
    ruclips.net/video/z_fmMD-Gazw/видео.html
    quadruped locomotion (MSC Art)
    ruclips.net/video/tLrRlXxM5Yw/видео.html
    The Procedural Animation of Gibbon: Beyond the Trees (Wolfire Games)
    ruclips.net/video/KCKdGlpsdlo/видео.html
    Quadruped Procedural Orgnanic Animation (Good Enough Games)
    ruclips.net/video/PIcNwka8r8Q/видео.html
    Spore Creature Creator to Blender (Freedom Arts)
    ruclips.net/video/ydbgHDxgb0k/видео.html
    How to setup IK bones: Blender Beginner Tutorials (blendera)
    ruclips.net/video/K17c1g8mQX8/видео.html
    Full Body IK: Procedural Dragon Animations (Unreal Engine)
    ruclips.net/video/Z8eqaFG7lZQ/видео.html

    • @silphv
      @silphv 5 месяцев назад +1

      @GeatMasta, thanks for making this, there was a lot of great info in here, and references. It would be really useful to include links to the interesting videos you referenced, like a bibliography. Even some of the examples of less successful approaches are still interesting to look at the source videos to understand the topic.
      I think the quality of the research and essay you have here could make your channel take off, you owe it to the work you put into this to give your video a little ending card-otherwise youtube's already showing another video before I realize this one's over. A lot of people consider liking or subscribing in the last seconds of the video when they know it's over but it hasn't navigated away yet. Also don't feel you have to rush your delivery, this is dense with good info, we're not going to get bored that quickly. I only say this because your video is really good, feel free to ignore me, I don't make videos and it's easy to be a critic.

    • @GeatMasta
      @GeatMasta  5 месяцев назад +1

      thanks man; i wasn’t really trying to rush delivery though...
      Yeah; its kind of a problem isn’t it? because clearly there should be a bibliography right? but if people click the video, go to the description and jump to a source, well that means they didn’t increase the watch time of the video, they watched for a second and clicked off, this will punish me in the algorithm and other people won’t see the sources at all! what i want is for them to scrub through the video to find a reference so parts of the video get more watch time and i can see what references people were interested in.
      TL;DR youtube isn’t designed for this kind of content.
      People do seem to know it’s wrapping up though in the ending minute the audience still watching drops from 25% to 16%; kind of a problem because the real purpose of the video was to get people to watch that little bit at the end where i plug the animation program i made.

  • @benrex7775
    @benrex7775 5 месяцев назад

    That was very informative.

  • @Hydra-BR
    @Hydra-BR 6 месяцев назад +4

    very good video! just decrease the music volume a bit

  • @gendalfgray7889
    @gendalfgray7889 6 месяцев назад

    Good video, thanx!

  • @WishLock
    @WishLock 6 месяцев назад +1

    I like dis vibeo!

  • @Sacro_the_Councilman
    @Sacro_the_Councilman 6 месяцев назад +1

    nice

  • @Zerth0_yt
    @Zerth0_yt 3 месяца назад

    This video is a really good reference

  • @schmecklin377
    @schmecklin377 5 месяцев назад

    What an incredible resource

  • @angel_of_rust
    @angel_of_rust 5 месяцев назад

    hell yeah the Spore mention. There's just a joy from seeing any creature made in that game being able to have at least somewhat decent movement. the fortnite dances mod is the best for it for that matter.

  • @selfiestick1589
    @selfiestick1589 6 месяцев назад

    fuck the one thing I hate about gamedesign is the animations, this put things into perspective, nice video, very underliked

  • @SkyGrel19
    @SkyGrel19 5 месяцев назад

    I would spend some time exploring how AI could create/help creating realistic and expressive animations.
    It'd be really cool to make some "key" animations and AI would take them as a reference and create other animations in real time from abstract commands and directions

    • @GeatMasta
      @GeatMasta  5 месяцев назад

      unfortunately i have no real understanding of deep learning systems; the AI i’ve built are all simulations of the motor cortex, so i don’t really know how you would bridge the gap between something like pytorch which uses sort of image-like number grid inputs/outputs and an armature; and i also don’t know where i would get training data from for thousands of mocapped animals. Ubisoft has done that kind of thing but its proprietary, seems to work though, they had to train the AI backwards, so it works from the keyframe to find the previous state not the next state.

    • @SkyGrel19
      @SkyGrel19 5 месяцев назад

      @@GeatMasta the only thing i know is video from nvidia about year ago, seems like they had success in such direction
      And also Ai4Animation github repository

    • @SkyGrel19
      @SkyGrel19 5 месяцев назад

      @@GeatMasta i think, the main difficulty here is how to create general solution, not specific one

    • @silphv
      @silphv 5 месяцев назад

      Yeah AI tweening has a lot of potential, basing interpolations off either your own references or a mix of that and a bunch of source material which could be animated or even just irl video analyzed for movements.

  • @shahmaarbaba
    @shahmaarbaba 4 месяца назад

    one question the procedural animation good for low end devices means it's consuming more cpu resources or it's good like separate animations

    • @GeatMasta
      @GeatMasta  4 месяца назад

      The seperate premade animations will always be faster to compute than procedural animations; the procedural animations are not especially costly though; the primary cost is in the inverse kinematics, and if you use a particle based system then it can be very fast. It’s also highly parellelizable; as each object being animated isn’t too concerned with what any of the others are doing. I would argue you shouldn’t worry about it, but ultimately it depends how low end we’re talking. Ultimately blend the techniques; use traditional 3D animation as often as possible and only use procedural where that wouldn’t work, this keeps your requirements low and the fidelity high.

    • @shahmaarbaba
      @shahmaarbaba 4 месяца назад

      @@GeatMasta thank you

  • @user-lg6ug2sz1u
    @user-lg6ug2sz1u 6 месяцев назад

    5:05 Quadick trot can *$@# walk #%$#@ etc. Some alien shit, dude

  • @DusanFajler
    @DusanFajler 6 месяцев назад +2

    Procedural Game Animation Historian

  • @zarodgaming1844
    @zarodgaming1844 6 месяцев назад

    bro ... u're aware of the work that Ubisoft employee or he and his team did a while back?
    it looked very professional .. in addition Capcom might have yet another iteration with its own quirks and discoveries, but to my knowledge that is all behind closed doors unfortunately.

    • @GeatMasta
      @GeatMasta  6 месяцев назад

      just to clarify are you talking about motion matching? or the one where they animated people talking based on dialog?
      either way those approaches are limited to animating humanoids, or otherwise things where you have hundreds of animations on hand from previous projects/mocap, yeah?

    • @GeatMasta
      @GeatMasta  6 месяцев назад

      oh wait you mean that paper with the dog.. yeah i did forget about that one, i remember i saw it on 2 minute papers and couldn’t work out how to use it for my own projects.
      Looking it up again it sounds like its basically the same thing though; a bunch of IK targets animated:
      to quote:
      ```
      I call this shared format the “IK Rig definition”; having such a shared format means several things:
      if you map any rig to this format, all the animations of this rig can be transferred to this format;
      applying modifications to a short list of IK nodes is much easier than processing a full list of bones; hence you have a lot of freedom to modify the motion;
      then these animations can be transferred back to any other rig
      ```
      this is exactly what spore did and exactly what spark does; aside from they start from mocap data it sounds like.
      the reason theirs looks so naturalistic is that they’re using a neural network for IK; but thats basically orthogonal to creating the animations themselves.

    • @zarodgaming1844
      @zarodgaming1844 6 месяцев назад

      @@GeatMasta yes i was talking about that.
      It felt wierd that it wasn't mentioned.
      Unfortunately for me tho, for how cool this type of animation is, on certain systems is just impossible.
      ( the cpu throttled ones with no support for jobs/multithreading )
      Performance wise, your solution is only true for Data-Oriented environments or one giant single script handling everything all close in memory.
      In the end, I will still bake everything, cuz the game or most games should know what is about to happen in 5 minutes or even 5 hours of gameplay, variations are few ... so you might as well just bake them during build or at runtime in the background.
      Unity and others will soon-ish give us a fully GPU resident animator, but by myself, I would never in a million years understand how to make and handle such a thing 😂

    • @GeatMasta
      @GeatMasta  6 месяцев назад

      yeah i just forgot about it so it wasn’t mentioned!
      i’m not sure; for the animation of the channels i copied the glTF 2.0 spec; i figured that there would be a way to animate it on the GPU already if that existed (since it was made by the same people that made openGL); and the jacobian IK solver is basically made for GPU implementations, i explain it in detail in my IK guide link in the description! But you can basically compute each chain individually with a compute job and sum the results all together.
      regardless, my solution was done in spore in 2008; which was a single threaded environment; so any modern CPU should also be able to handle it; and honestly… i didn’t bother multithreading the editor cause it kinda worked well enough, it only uses it’s thread pool for loading 3D models! I would just have everything make sure it’s actually on screen before doing any computations and call it a day.

    • @silphv
      @silphv 5 месяцев назад

      ​@@zarodgaming1844For most things, baked is going to be easier. The video pretty much says that early on. But it also depends on what kind of game it is (Rain World wouldn't be what it is with baked animations. The movement and therefore animation being procedural is what makes the interactions between creatures so dynamic, and the movement tech of the player so potentially deep even if a bit awkward; same with Gibbon, it just makes sense for that game). It's also super appropriate for certain game elements (procedural hair for example, Celeste is another example where it adds such a nice touch, and you can't easily get that effect baked). That's my counterargument to "bake everything" though you're not wrong for most things, most of the time.

  • @ClassyJacket
    @ClassyJacket 6 месяцев назад

    i wish i went to a school that taught math

  • @triforce42
    @triforce42 6 месяцев назад +1

    Unlucky timing with the internet historian downfall

    • @GeatMasta
      @GeatMasta  6 месяцев назад

      yeah; but here’s why i’m going to give him the benefit of the doubt until further evidence comes out:
      i think too many people are glossing over the question: does IH still write his own scripts?
      maybe i’m wrong but i seem to remember in the costa concordia Q&A that he *doesn’t* he has a writing staff and he just reviews scripts and makes changes; which would imply an employee just turned in the man in hole script and he didn’t know it was.
      furthermore, in the past he’s made several adaptations of online articles and stories; and he’s always been public about it being an adaptation, why suddenly change that if his viewers don’t care if it’s his own work in that sense?
      in the reupload he has in the description that it’s a mentalfloss article; meaning he worked something out with mental floss already, the fact that they came to a deal is kind of an indication that he didn’t know it was plagiarized; and think to the story about the plane in “survival”, not recording audio to that fact because he’s awkward is exactly the kind of thing he’d do.
      furthermore, it already qualified under fair use, mental floss was actually in the wrong to claim it; he had no reason to take it down, and the changes he made wouldn’t have made it fair use anyway.