To give you an example- poke your finger into your hip joint at the side and move your leg around, find where the joint in a human is.
Okay so what you have no doubt discovered it it is near the outside of our leg, not the middle.
But this is because of how our bones work...
Human bones are curved, so they can absorb shock. You don't want a straight bone as the force will run down the length and shatter it. See how our hip socket is actually deep, comes out then bends down.
BUT 3d bones are a straight line between two pivots.
So you see the pivot isn't where you think it is in the actual bone.
I am pointing to the bit you can feel, that orients down the bone itself.
If you simplify the 3d model in your mind right down, what you are doing is putting a ball joint in the blue areas here:
Another abstraction we make is that 3d bones have one fixed pivot point. Our bones roll against each other, which allows us to do things like kneel on our legs.
If you look at action figures again, you can see that to simulate the way our knees bend you need TWO pivots.
Because the bone heads are round and roll against each other.
So our joint placement is a cheaty abstraction of the real deal.
Furthermore, our skin weighting is also a hack.
Vertices rotate around a pivot (joint), compressing on one side, stretching on the other- so you are looking for the middle of the mass.
Here is an example of doing it wrong: this is from Vampire The Masquerade Bloodlines. The artist has put the joint where the bone is. Not the center of movement. So the leg BORKS when moved sideways.
So the way to figure out where you want a joint is this...
It's the center of the arc of every vertex between where it is and where you want it to be when rotated.
So look at that vertex here... it has orbited the joint.
The vertices of the pink mesh will orbit the joint when the pink bone is rotated. So I place the joint based on the extremes of where I want those to go.
Weight painting just softens the effect by distributing the vertex between more than one joint.
Extra joints can be added for more complex and accurate rigging, such as knees that can kneel without shearing like scissors.
So the easiest way to learn is to look at articulated action figures, as they are a simplified simulation of what we are doing.
In fact creating meshes as rigid and soft sections like this really helps you learn where to put the key edge loops (blue) and it looks very much like the shapes of action figures as well.
I am covering this with some nice clean visual guides and diagrams in my forthcoming book Violent Triangles, so stay tuned.
As always you can make me smile by buying me a coffee here:
A video game that simulates #ADHD. The mission objective changes at random every few minutes and whenever you walk into a new room, your inventory shuffles one item and sometimes it becomes invisible for a few minutes.
You auto steer into table corners.
Whenever you get more than one sidequest there is a chance you go into overwhelm and your controller will pretend it is unplugged.
The corners of the level starts filling up with laundry.
You put down an item and it vanishes when you look away.
You have timed missions but during loading screens that can dramatically shorten by an hour or five.
In Life Is Strange Before The Storm, one truth Rachel Amber tells Chloe during "two truths and a lie" that she is a Leo.
The brilliant thing is later if you pay attention, her birthday is the day after Leo ends. But her starchart has her on a cusp.
This is brilliant.
The series has a few moments of absolutely brilliant subtle clues in it that add layers of meaning, but you have to be sharp to spot them.
But if you miss those, there are still blatant clues around the place that give some level of depth.
The main mysteries of the game aren't hard at all, probably to a fault, but on replay there are far more little ones.
A technique I highly recommend to #gamedev artists is to look at actual shipped game assets.
There are various ways to get hold of them, such as programs like Ninja Ripper, Utiny ripper or via archives.
And I must stress this is for learning purposes ONLY. NEVER use them.
Being able to look at models from a wide range of titles, see how they are rigged, how their Uvs are layed out, the triangle count and modularity... it all helps you understand the ACTUAL end result you are aiming for.
I think it is really important that students bridge the gap between where they are at, and what the end products are at.
You may think "oh, the models in X game are super high end, high tech stuff" but when you actually crack it open and examine it in your DCC...
There is no future for humanity in a world where all human endeavour is stolen and boiled down to something that replaces humans.
What do humans do in a world where humans are not employed to create?
Is that a world you want to live in?
If you take away the creative process of human artists into pool, the zeitgeist becomes entirely manufactured from an ever decreasing pool of looping cannibalism.
Pop literally eating itself.
Endless product without exploration. Product feeding on product.
No art movements, no re-evaluations of our place and relationship to the world.
Draw calls are responsible for a good 50 percent of the chugging issues I have helped games with.
A draw call is "okay now draw me an apple, and come back when you are done for the next instruction."
Then you ask for another apple. Then when they return you ask for another...
So the GPU is running back and forth to the CPU when it could just do that once and "draw me a pile of apples".
Rendering an apple, in this example, takes a tiny amount of what a core on the GPU can render. So by welding all the apples into one bigger mesh, it can be done faster in one draw call than all the fucking around to draw them one by one.