Sunday, June 30, 2013

How do characters move?

I'm going to start this with a bit of my thoughts on how I look at character motion and what I think about when I'm setting up a character.

In games, for the most part, all we have to work with are joints and painted weights to get a character moving, though with more powerful processing we are starting to see some divergence.  Studios are starting to use more blend shapes and more complex ones to solve difficult areas as well as different weight calculations such as dual quaternion skinning.  I'll get into that soon, but it deserves it's own post, so for this one we'll stay focused on the question at hand, how do we move a character?  Or better yet how do characters move?

To get good motion out of a character we first need to understand what we're trying to accomplish with our joints, mesh and weighting.  At the highest level we are trying to simulate how something moves, but first lets look at what each piece is in the context of a human to help understand what we have to work with.  The mesh is the skin and cloths, weighting is the definition of how the skin follows the joints.  That leaves our joints to be bones, muscles, and tendons.  A pretty tall order to demand from what's essentially a point in space that can only move, rotate, and scale.  It's also an area where I've seen flaws in character motion, and still do in some modern games.  When joints are placed in a mesh to try and build an anatomically correct skeleton it becomes very difficult to use them to simulate the muscle and tendons.  And it's those muscles and tendons that provide motion to the human body.  The skeleton is there to provide support and structure to the muscles and tendons, but not motion.  As a technical artist it's rough seeing joints placements that ruin the deformation of a character, and it doesn't only ruin the deformation.  Bad deformation also hurts animation, even excellent animation can look bad if the deformation isn't there to support it.

Now, if we're going to simulate how a person, an animal, or some mystical creature moves we need to understand how it's anatomy moves it and on an even finer level how it's anatomy moves.  All of the complex motion that we can do with our body, our arms, our legs starts with simple motion.  A group of muscles expand and contract, tendons connect those muscles to our bones and those connections turn that linear motion into rotational motion.  This may be a little bit of an over simplification, but the major motion/locomotion of living creatures boils down to linear muscles compressing.  This leads us to another problem.  We have points in space, and while they can move, rotate, and scale in games it's fairly rare that we use all of the channels.  The translation is handled by hierarchies with forward and inverse kinematics, beyond that when translation is animated it's normally done to purposefully break anatomy.  Scale is also tricky and difficult to use well with the hierarchies inheriting the scale, we can pull off joints to do a non-terminal scale(scale on a joint with no children), but in most cases that leaves us with a point that can rotate in space.

Sunday, June 23, 2013

The Plan

Before I start up the first series of posts I wanted to talk a little bit about what this blog is all about.  The main focus will be on how art and technical art come together, though I'm sure I'll also get into some more of the gritty details of the tech.  I want to touch on a lot techniques and approaches to technical art that I've come across, as well as some of the short comings of the programs we use, some big problems to watch out for that aren't immediately obvious, and how to get the most out of the often limited resources we have available.

I'll be starting this out with a series of posts focused on bone based character deformation and how to get the most out of deforming models.  I want to start here because I feel this is an area of game pipelines that often suffers from a rush to get it done without taking the time deliver the highest quality.  It's also an area that is highly reliant on the production areas around it, which can make it tricky when the initial model and rig you're working with have a huge impact on the quality of the weighting.  You have to corral the model, rig, and animation and make adjustments to each area along the way to get the best deformation, and there are plenty of tricks that will let you make changes without loosing work.  Like everything in CG, if you slack in one area it will negatively impact every aspect of that character.  Bad deformation can even make models and animation look sloppy when the model and animation are excellent.

After this first series I've got a few more planned to go over rig and character pipelines, but I'll more on that as this first series winds down.

Also, along with each series I'll be intermittently touching on the short comings of software we use and other technical problems I've run into.  If you've ever worked on a production using software like Maya I'm sure you've hit your fare share of technical problems, they always come up and despite having been searching them out for years new ones are always right around the corner.  So, in these intermittent posts I'll talk about the issues that I've hit and not only how to fix them, but how I went about digging out the root cause to really understand what the problem was.  This is probably one of the hardest things I've found to make the time for in a production environment, but it's essential to understand the problem.  It can be easier to find a solution and move on than dig deep into the problem to fully understand what's going on, and as well as a quick fix can work it's usually more of patch work than a solid solution, and too much patch work will wind up biting you in the end.

So, hopefully anyone reading this will enjoy learning from my experience, and maybe I'll even save someone out there some time!




Monday, June 17, 2013

Introductions!

I thought I'd start this blog out with a little bit about myself and how I've come to find my career in technical art.  It was a fairly long path for me, but once I found it there was no stopping.  Like a lot of kids coming out of high school I wanted to make games even though I had no idea what making games meant.  I started in Computer Science before I realized that programming wasn't the career for me and eventually got my degree in Fine Arts.

As soon as I started touching 3D art I couldn't pull myself away from it.  The mix of technology and art fit my background perfectly and I started to dive head first into scripting to take control of the program and be able to do more than working with the program alone could offer.  I was fortunate to have instructors that encouraged my use of programming to make art, my first real work in 3ds Max turned into a helicopter auto rigger and flight simulator running in real time in the Max viewport.  When started it tracked mouse input to mimic the movement of a joystick and throttle to bring the helicopter model to life and capture the animation along the way.

Since that beginning I've been focused on learning the foundations of rigging and molding my techniques by working closely with animators and modelers to find solutions that elegantly provided the power they needed with as simple of an interface as possible so that they can focus on the art they love without getting caught up in the technical details of the programs they're in.

I've now worked in the games industry for nearly 3 years and have had the pleasure of cutting my teeth on the behemoth of a game that is Guild Wars 2 before finding my way to Bungie to help ship Destiny and beyond.  My focus has and always will be treating the most technical sides of content creation as an art form itself, from designing tools and pipelines to setting up character deformation.  It all requires an artists eye and a technical mind to develop the ground breaking work that we do in games and I hope to use this blog to share my thoughts and experiences on approaching technical problems from an artistic point of view.


For a little more of a look at how I got into technical art in games you can check out my breaking in interview over at bungie.net.

http://www.bungie.net/7_Breaking-In---Micah-Zahm/en-us/News/News?aid=10323