Это видео недоступно.
Сожалеем об этом.
A simple procedural animation technique
HTML-код
- Опубликовано: 12 авг 2024
- Let's design some procedurally animated animals!
This video is a tutorial/explanation for a simple procedural animation technique I recently learned about. Essentially, it's animation rigging using a 2D chain simulation. I provide an animated explanation of the technique, then showcase a few animals I animated with it.
Source code
↪ Simulations written in Java using Processing.
↪ github.com/argonautcode/anima...
Inspired by this cool explainer on different types of constraints: zalo.github.io/blog/constraints/
Socials
↪ Twitter: / argonautcode
Chapters
00:00 Intro
00:43 Distance Constraint
01:20 Chained Constraints
02:03 Body Shape
02:36 Parametric Equations
03:09 Procedural Snake
03:40 Angle Constraint
04:07 Procedural Snake II
04:24 Procedural Fish
05:36 Inverse Kinematics
07:13 FABRIK Leg
07:46 Procedural Lizard
08:08 Outro
Music
Castles in the Sky - Scott Buckley
Wow, this video really blew up! Thank you for watching! :)
I want to answer some frequent questions from the comments:
*How did you make this video?*
• All of the visuals were created in Processing!
*Can you do this in ?*
• Yes, absolutely! This can be done with anything that lets you render stuff to the screen.
• Most engines even have robust rigging systems if you want to skip the math :)
*Where can I learn more?*
• I haven't been able to find any well-compiled sources on procedural animation, which is why I only covered the absolute basics here.
• However, if you're interested in learning how programming can intersect with natural sciences, I really, really like The Nature of Code by Daniel Shiffman.
*This isn't realistic.*
• Yes, you're right. This is a simple model that abstracts away real-world complexities.
• However, I hope that you can use these techniques as a starting point to build cool things!
• And I did get a lot of great feedback and ideas for how to improve the animation, I’ll definitely try them out! :)
it has just started.....
Fantastic video btw! I'd love if you made more of these videos. Your step-by-step explanations make it extremely easy to understand and your visuals are super nice
@@argonautcode Never heard of processing before. Looks really cool. Love open source software.
u can also use rotation matrix to find 90deg vectors, it can also be done by (x,y) => (-y,x) because thats kind of the result of a kind of ""identity"" rotation matrix, i saw this on sebastian lague first where he just flip the vector components and negate one of them
What if you restricted legs in a way, that there's always only 2 moving? Would it work and look better?
This is exactly how programming concepts should be presented. Visuals, step by step explanations, and the math behind it. Every layer is here to pick apart at any viewer's personal learning pace. No over the top jokes or distracting edits, either. A real gem. Thanks for making this.
No this is not learning it is entertaining and that’s fine but no serious discussion can be had that this is how budding devs should learn
@@pookiepats I respectfully disagree. I believe that a budding developer would benefit more from being given the general ideas behind the programming, rather than every variable and line being spoon-fed to them, for two reasons:
1) A developer is actively encouraged to experiment with how to achieve this, introducing them to methods and functions that they will likely not encounter given the 'correct' answer outright - read: "a developer's sandbox is the best place to learn."
2) Without the constraint of a line-by-line tutorial, the general concepts outlined in this video can be achieved using almost any programming language or engine - you know what you're aiming to achieve and the steps that get you there, not how, so you can discover the how yourself, relative to what you need.
Both of these points lend themselves to learning the idea of procedural animation, and whichever programming language they intend to replicate that idea in; rather than starting from a fully-functioning piece of code written in a particular language and dissecting it in order to understand it (and potentially translate it).
@@pookiepats what? :D
I mean this is not beginner level topic, so I can see how it is just entertaining for you. But it is complete pseudo code explanation that can be implemented in any graphic framework just with this one video. It is represented in a simple way without forgetting math behind it. Simple procedural animations are not something you would need to seriously discuss, so I am a bit confused what you meant by that.
@@pookiepats I disagree. I learned something. Perhaps you need a different method of teaching? Nothing wrong with that, but this is right up my alley and helped me visualize that which long-form text explanations cannot. To each their own! Hope you find something that works better for you.
@@pookiepats i agree with @diamond8467 , these kinds of videos usually teach the concept behind a feature it expects you to already have learned how to code. It makes teaching the concept faster, simpler and easier to implement globally.
You could enhance the lizard animation by only allowing a leg to move if the three others are still. It will naturally make a cycle and this cycle will automatically reorder on tight turns.
Or, for a faster walk cycle, only check the matching leg on the other side and the matching leg in front or behind.
That's the beauty of procedural workflows. You can always go in after the fact and add or tweak additional parameters pretty quickly and get a change across the project. Great for non destructive work. The more work you do in procedural workflows you start seeing all these patterns and concepts in nature. Really cool stuff.
Procedurally animated lizards… sound familiar
RAIN WORLD
Oh dear! You just opened up a rabbit hole beneath my feet. Now I have to implement this myself.
Exquisite video.
I'm glad I'm not the only one always implementing the things I see in videos. Hope you an least not do it like me in plain C++/OpenGL
What is this super high quality video from a channel with way too little subscribers for its content? the algorithm strikes again with an hidden gem
For real
It does it a lot recently
Damn, feels like watching Sebastian Lague's coding adventures!
For real. It’s the exact same vibes especially with the music
That was my exact thought
That is exactly what i felt watching this!
Ahh. A man of culture, I see.
Bingo
This video is gorgeous and very well-produced! Also, I absolutely adore the lizard.
Thousands of years of technological and mathematical evolution.
We are just scratching the surface of the art of teaching.
Very well produced video, respect.
this has nothing do to with teaching bro
@@niewiemcotuwpisacisioa5317 just because you didn't learn anything doesn't mean this video didn't teach others
@@andermium bro what ☠️☠️
I've been playing with the code. I made a base class that all creatures inherit from and I made it so you can override a function to set up your own body widths and another for overriding the legs. Managed to make an ant with 6 legs. Also, I made it so the angular constraints use a rotation lerp, because the creatures otherwise had a tendency to spaz out. And I made a click & drag path drawing feature. When a path is drawn, the creatures will move along that path in a loop, when you single click, the path clears and they follow your mouse again.
Sounds awesome, glad you were able to build on this!
Me using the power in my body to not mention rainworld
IKR
lol, right
Real.
i just did
this is why I'm watching
Rarely do I ever come across a video where I could just watch it once and be able to program whatever was shown. It might be a concept constraint of the videos I tend to watch, but this one is just that. Heck I'm even tempted to just spend a few hours making this for no reason at all, it looks fun to make and fun to play with.
The animation you’ve got playing in the intro of the video was like a neat little visual explainer before you actually got into the top so once you actually started getting into it, I felt like I already understood without any further clarification. So thanks for that! Excellent work!
Production of this video was really good, suprised you are a relatively small channel, good luck growing!!
In some places, the lizard began to "jumping". Her legs moved at the same time, which created a similar impression. To correct such cases, you can block the opposing legs, forcibly prohibiting them from moving until a pair of other legs finish moving and "touch the ground". Then the locked pair can be unlocked and the other one can be blocked.
I know I am late, but alternating the steps of the lizard would make it look a lot better.
I'm not an animator nor an artist. Not sure why I watched it, but I'm glad I did. Love understanding what goes into these animations
would be great to see these procedurally animated animals be incorporated in herd/flock algorithms to show the true power of such simple components used in larger complex systems.
You should check out Rain World, it's a survival game contained in an ecosystem of procedurally animated ai creatures.
The best explanation video i saw about procedural animations (and inverse kinematics)! The visualization makes it so clear and understandable, great video!!
My cats LOVE this video. Especially the fish.
This video is impresive, is just simple math and geometry not a single line of code, but you are able to understand how it works and think how to code it. Maybe the best coding/algoritmic tutorial i have ever seen tbh
Amazing video. The editing is awesome the information is clearly presented, pace and density are great. Stellar, keep it up!
This is awesome. I’ve long been interested in learning to use IK and just couldn’t find a clear, easy to understand starting point. This video explains the concept, demonstrates it, shows the math, and then also shows the animation of a successful implementation 🎉
My only follow up is to keep an eye out for more videos to follow. I am also interested in simulated biology, and AI driven sandbox environments - so this was about as exact as could be.
I really liked this. Thank you for taking us on your journey. An idea for an improvement for quadraped animals like your lizard, if the a front left foot would update its target, force the opposite back right foot to also update to a new position regardless of the distance threshold. Apply that to all 4 legs and you'll have a less derpy lizard because it'll be a 2-step trot-like gait like most quadrapeds.
Why isn't this video at a million views - perfect narration, presentation & visuals!
amazing presentation! Inspiring!
small pet peeve at 4:44 the fins rotation should be inverted - outer fin has to be close to the body and inner fin should be extended (more realistic movement in water)
So the inner fin brakes the fish to help it turn? Or how does that work? Or the outer body side stretching makes the fin lie flatter? Asking because I want these fish in the game I'm writing :-)
Excellent! I love the way you explain things. Kinematic has always been so confusing to me - especially in the 3D realm. I look forward to more of your videos :)
These animals are procedurally very cute.
Fantastic overview of procedural animations with great explanations and accompanying visuals. I really appreciated how pleasing animations can be created using simple concepts.
Thanks for including Github link to code examples. A great complement to this video tutorial.
when you started getting into the math i was scared you'd lose me but it was all surprisingly simple to understand. this is a really cool tutorial on this subject! well explained, well editted, and the slightly derpy animals are fun to look at :)
Holy shit. This is EXACTLY what I've been looking for. This channel needs more love!
I don't do animation or any graphics work. But i have learnt forward and inverse kinematics. The application and the explanation for animation was mind blowing. Loved the video.
This is one of the best videos I have seen IN MY LIFE period
Everything about this video is so smooth and pleasing. From the procedural animation to the editing to your voice.
What a beautiful video!
From visualization to explanation, absolutely amazing.
What an incredibly clear and well-explained video! I wish more people teach like you. Hope you keep making more!
This is a masterclass in explaining complex topics in a simple and visually appealing way. Well done, I know these things well but I am in awe of the production quality and simple breakdown.
Wow. I've looked into IK implementations before, but most of them are incredibly technical mumbo-jumbo and has just left me feeling dumb. This, though, was fantastic! The explanations of everything in the video are so understandable and the visuals are simple, yet beautiful and convey the ideas so so well. I finally understand! Thank you for an excellent video.
This was excellent! Thank you for giving such straightforward explanations of what otherwise looks like magic :)
These animations are so cute, and the video is so compact. Can't wait to try these out. Thank you :D
Amazing video! One tip I would give you is to extend that last scene, like we see in Sebastian Leagues videos. It's like a reward for watching the whole video, we get a cool animation with some soothing music and can relax
What a great way of explaining this. Animations looks dope for what they are. Makes me wanna try code some of this.
Damn really clear explanation with good visuals! Good job
Wow i thought i was watching another youtuber who has similar voice, production and even similar voice.
who’s the other youtuber?
@@punkinhedd t3ssel8r
Who?
Wow, love this! Procedural animation opens up so many possibilities
Fantastic explanations and amazing to see the animals coming alive!
Your explanation is amazing and allows for a comprehensive guide without taking away learning experience through hand-holding. Will def use this for a self education project.
Fantastic walk through of these techniques. Thank you for the lovely presentation!
I've been trying to learn procedural animation for a while and the lack of good content on YT, explaining the topic, has been a limiting factor for me.
This video is very comprehensive and simple and has helped me understand the fundamentals much better.
I hope you'll make more videos on this topic soon, explaining the concept in more depth.
You gained a new sub!
I personally thank you for making this video. I was interested in procedural animation for quite some time now. Even though i will probably won't find the time to play with it any time soon, this video will give me a head start once I feel like I want to scratch that development itch.
I am sure that sometimes you might question your impact as a small channel. But take to heart that some topics are inherently interesting and a lot of people wonder "how is it made", and you delivered a very good introduction to the topic that allows people to start doing cool things by themselves. - I thank you for it
Beautiful video! I'm making some trippy visuals kind of simulations, these techniques are definitely gonna get implemented. Thank you!
the algorithm showed me a gem.
efficient problem solving is always entertaining and mind-blowing
Yo!...this is the best procedural animation tutorial I've ever watched🤩!
Here before it blows up
+1
Same
You called it!
Wow! Amazing and inspiring, we definitely need more of this!
Nicely articulated. The video is not good because it's presenting a new idea; it's good because it presents an idea well and in one cohesive piece.
The way you say it, it can easily be misunderstood. I think it will be more accurate to say :
The video is good not because it's presenting a new idea (since there is no new idea presented actually) ; it's good because it presents an idea well, and in one cohesive piece.
I've seen the phrase 'inverse kinematics ' so many times for setting up bones on 3d models and never actually really understood what it meant. This was an awesome explanation, thank you!
Concise, clear and beautiful video. What more could one ask.
Deserves 100x more views.
this is fu_)king delightful to watch! I'm teaching python to kids and this has given me so many ideas for some intro to pygame tutorials I cannot wait to try out! You diamond!
this is the first time ive been so stunned by the quality of a video and its conversely low view count. amazing explanation and stunning results, bravo!
Thank you! Right at the beginning: love it! You're showing how the Flower of Life is drawn -- choose a point, make a circle with a compass, and then put the compass point on the edge of the circle. I love when concepts align. :)
I love your work , simple , informative, great explanation , a great starter
This is awesome
that animation is so smooth
Beautiful and elegant concept! Thank you for sharing your work ❤
It looks so cool, I’ll save this. Very useful
I'm going to try this. Thanks for the great explainer!
Simply beautiful!
I know this sort of stuff already, but I recommend it to beginners. Good video!
This is a beautiful project. Well done!
Wow, this video is incredibly informative! I can't thank you enough for making it. Keep up the amazing work!
Nem tenho comentários sobre, o vídeo é incrível, calmo, com animações suaves, conceitos explicados com qualidade. Estou comentando apenas para que o RUclips recomende para mais pessoas. Esse vídeo e canal merecem
Great job on this video, very informative and entertaining! Was enjoying every second of it and learned quite a few things along the way!
the fish fins look so gooooooooood!!!
The quality of content and video is beyond industry standard, if you continue your channel will blow up!!
I'm so glad the all mighty algorithm brought me this gem, featuring algorithms
I could immediately tell this was going to be good from the start. Good work. Really loved to watch this.
Excellent video! Hope you'll be able to do more of them 😄
Always wanted to know how to make procedural generated creatures and this is a gem of a video!
wow i stumbled arcoss your channel while learning about genetic algorithms to solve some olympiad programming problem, didn't expect your videos to be that good, keep it up!
5 sec preview and the first sentence was enough to sub
For a nice 3D version of this, check out Spore creatures! Limbs are controlled by IK, and passive limbs by angular-constrained quaternion springs.
You earned my sub. I'm excited to see what's coming up
Fantastic algorithm!
Nice visuals as well.
Beats the crap out of both algorithms I used for my version on Ikaruga Lasers and one boss with tantacles using IK.
Mine was just to make and array of vectors, follow though using a 1 element shift for all elements, extract left and right normals and extend by scaling normals to desired width.
Arm IK is just a bunch of matrix transforms.
This video makes me want to go back to gamedev after like 8 years.
thanks for coming on my feed. definitely worth the sub
awesome explanation
Excellent video! Looking forward to more!
This was seriously such an amazing video! You explained it so clearly that I felt like I had to try it myself. 3 days later and I am proud to say I now have my own procedural snake and gecko!
This was so interesting and cute at the same time
I am grateful to the creator for providing such a nice and visually awesome video for learners.
Fantastic video! Starting from the basics and working up at a comfortable pace. Really easy to follow and extremely well made visuals. I didn’t know about FABRIK, thanks a ton for that one! With this production quality I’d expect this channel to grow a lot in the near future. Best of luck, I’ll be following 😉
this is beautiful, we need more!
Thank you for well structured, great served and easily digestible approach to present concept. It was tasty.
that fish is so good
Incredibly well produced and explained video. I'm going to use some of these techniques in my current game.
I've always been fascinated about virtual creatures but never knew where to start.
Also how do you do such nice animated presentations? I'd love to learn. 😊
Stunning work, sir. Very clever ideas very cleverly presented. Procgen interests me a great deal
this is pure gold.... thank you
This is incredible... I would be eternally grateful if you shared the books or resources you learned this from. Liked and subscribed regardless!
the world need more of this
Here before 1k subs! Extremely underated, keep up the good work :)