I’m talking about things like [Merida’s eyes being all buggy when animating Brave](https://www.youtube.com/watch?v=4405qEhBmEM) or [everyone’s hair going in weird directions in The Incredibles](https://www.youtube.com/watch?v=Y_MQnH54XaA) or [Shrek’s arms suddenly getting really long](https://www.youtube.com/watch?v=UNngNiYXuVE). Why does the animation fail in (apparently) random and uncontrollable ways?
In: Technology
When it comes to computers, everything is math. All of 3D animation is just a really complex combination of pixel positions and interactions based on this math. If even a single digit is off, or something miscalculated, it will show up in the animation as a glitch. If it is something like positional information, you could end up with weird arms or clothes inside the body or anything else.
Animators are not sitting there animating each and every point on the 3D model. There are just too many of these points. So instead they set up the rules for how each point will move and then let the computer deal with all the details. One common technique is to set up a skeleton of the character and then map each point on the model to a part of the skeleton. So when you move the skeleton the computer can calculate the position of every point on the model. For cloth there is a different algorithm doing fancy cloth simulation to figure out how the cloth will hang on the model. For hair you actually have particle simulation which calculates the path that particles would take if they were shooting out from the top of the head and then drawing this path as a strand of hair.
The bloopers you see here are when the computer is not giving the animator what he wants. It can be that a certain skeleton position the calculations break down and you get weird results. Or the cloth simulation does not handle a certain edge case. All sorts of things which look weird.
In the *really old days*, 3D animation was sort of like stop-motion animation. The people who made the movie had to do a lot of work to manually describe how each part of the 3D “models” would move between poses. That’s why very early animation avoided things like hair or fur, there’d be too much manual labor involved. Since it was so hands-on, mistakes didn’t often make it to the finished product.
As it got more sophisticated, they started writing small programs to do that work for them. That let them focus more on the “key” frames of the major models and the programs would figure out how to move all the body parts. Meanwhile other small programs handled eye movements or the way hair/fur would move.
But programs can have mistakes. All of the descriptions of how stuff moves is just Physics math on 3D coordinates.
A common mistake in this kind of math is to accidentally have a “something squared” when you just need a “something”. That will turn results that are “supposed” to be negative numbers into positive numbers. That usually means something that was supposed to move a tiny bit one way moves in a different direction and for what may end up being a long distance. For example, if something’s intended destination had the x coordinate -2.8, it will now end up at +2.8 so if it was starting from -2.7 you can see how that’s way off.
So what you’re really seeing is someone making an error in those little programs that help these movies do more complicated things. Often the only way to catch the error is to render a whole scene and watch it very carefully. In a very long movie, sometimes things get missed, or they might just decide it’s too much effort to fix and people won’t notice without looking very close.
I haven’t done much 3D animation, but I do dabble in game development, and there’s a decent bit of overlap in how those two fields tend to work.
So basically in modern games and 3D movies, there’s way too much stuff going on for actual people to be arranging every single thing in every single frame, so what we do is create systems where the people set up the ‘broad strokes’ of what is supposed to happen, and then computer programs take that info and figure out all of the details and the in-between steps.
As an example, I was recently setting up a player character in a video game, and I had three animations for that character, an idle (standing still) animation, a slow walk animation, and a full-speed run animation. But depending on how the player wants to move, their character doesn’t just travel at those three different speeds. They can accelerate and decelerate at all of the speeds in between. So the game engine that I’m using contains functionality that lets me set up ‘animation blends’ between different animations, where once I’ve set it up, the computer will basically combine those three animations to create intermediate speed walks/runs as the player accelerates/decelerates.
And stuff like that is how tons of things in games and 3D animation work. Besides just blending animation, we’ve got programs that dynamically changes shapes/textures/whatever we need. Stuff like hair and fur is typically rendered using these sorts of programs. We’ve got physics engines that attempt to simulate things moving and colliding. There’s cloth simulations that can be used for things like clothing and flags. Weather systems that add in clouds/rain/lighting changes/etc.
And the ‘fun’ thing about all of these systems is that they’re often fairly complicated, and minor changes in how you’ve configured them can result in big changes in the output, and often in unpredictable and undesirable ways. And sometimes they just ‘freak out’ and super weird stuff like you see in those blooper trailers happens.
A large amount of the animation is not initially done pixel by pixel by the artists. Instead, there are 3d models that are created with a rendering engine to give it rules on how to move. Things are given skeletons and joints and movement rules, and then the large scale movements are programmed in and all the smaller detail is generated by programming.
Bugs in that programming create weird scenarios where things just go haywire. Often its little math/logic errors that when iterated frame after frame after frame create a giant compounding problem.
Most of the time, it’s human error on a technical level.
For instance, hair simulation is a complex thing to achieve.
Virtual hair have a lot of parameters to describe how it behaves: weight, curlyness, rigidity… in short a TON of stuff.
Let’s imagine rigidity:
– Give it medium rigidity: it behave like normal hair.
– Give it too much: it’s hard like concrete, feels like plastic
– Give it too little: it moves around like crazy, like a liquid
Let’s imagine weight:
Weight translate to how much force the hair is pulled to the ground.
– Normal weight behaves like normal.
– Too much: the hair is pulled too hard, it doesn’t react much with wind + follows the head too closely (does not “float behind” when the head moves around)
– Too little, it barely moves and float around
– Zero weight, it does not move at all! Because 0 weight means no pull force towards the ground
– negative weight… the hair is pulled towards the sky?!? Huh!
But how do you find out these “normal” values?
By trial and error until you get a feeling for it, which produces bloopers.
3D models aren’t animated completely by hand, and there’s usually a lot of what we call “rigging,” involved.
For example, instead of having to move each eyeball independently, you might “rig,” them to both follow a target, so when you move the target both eyeballs point at it. You might also rig an arm so that when the elbow bends the bicep flexes, and many other things.
Computers aren’t perfect though, so sometimes you accidentally set things up in a way where they conflict with each other and you get a whole bunch of really weird and often funny glitches. Other times it’s just the animators stretching Shrek’s arms just for fun and realizing it makes everyone in the office laugh 😂
Simplifying what others have said, all the 3d objects involved in an animation have rules for how they should move.
If the rules or timing for one object are off and it gets out of sync vs. the ones around it, that can produce weird visual effects.
You see similar effects in real-life for things like dances that rely on very precise choreography.
“Thousand-hand Bodhisattva” is an extreme form of this where multiple people stand behind each other to give the illusion of a single person with many hands:
[https://www.youtube.com/watch?v=-nMOJZhLm2k](https://www.youtube.com/watch?v=-nMOJZhLm2k)
If someone in the middle has their timing just a little bit off and leans to one side out of sync with everyone else it ruins the effect.
There’s an entire library worth of sliders and attributes to keep track of and a lot of them interact with each other in pretty intricate ways. Sometimes tracking down the relationship between two of those things is a big issue and sometimes it’s easy! But those things clashing it was I’ve found messes up my 3D work most often.
Latest Answers