Jacob's Blog Buttons (custom HTML)

portfolio
animation
character
digital art

Thursday, June 27, 2013

Aiming Pole Vector Controls at Joints

I was adding pole vectors onto knees for a rig I'm currently animating to, and I was using aim constraints to get the curves to point towards the knees (since the knees are not pointing down any one axis).  Then I had the idea: why not leave the aim constraints on?  The pole vector curve will always point towards the joint, so no more losing similar-looking curves in a tangled mess of a bent-over-rig.


 You can also lock out the rotation, and hide them, if you choose, which will stop the animator from keying it, but not restrict the constraints from changing the values.  Perfect for this application.  It's got all of the benefits from drawing a curve between the PV to the joint, but less of the visual clutter (heck, you could even do both).


Safe from we animators, for another day.

Thursday, June 20, 2013

Good Ol' Ball Bounce

I wanted to go back and hit on the basics, so I've been doing some simple ball bounces.  I want to work on weight more, as I've been having trouble with animating weight on the heavy Grapple enemies.  Each of these were pretty quick, and as expected, each came quicker than the last.  It's funny because I immediately noticed myself using these principles in a different animation afterwards.

My first four exercises were a stationary and moving bounce, one affected by gravity, and one not.  (Suggested by user Slipsius on Polycount.)  I also threw in some experimentation with different masses, for good measure.  The first four are based off of a basketball.  The next two are bowling balls to get the feeling of a different mass.


Thanks to Saul Garcia for making his ball rig available on Creative Crash.

Thursday, June 13, 2013

Nassa Color Schemes

As I'm moving towards texturing my character, I painted up a bunch of options for color schemes.  I'm exploring the first two further.  While I really like the colors of the third and fifth, neither fit the character as well, and character comes first.


The next step was some variations on the chosen color.  The second one ended up being the favorite.


Monday, June 10, 2013

Grapple - Amina Enemy Takedown

Here is a shot I've been working on for Grapple.  Amina, the protagonist of the game, is equipped with a grappling hook that she can use to grab onto buildings and enemies.  When grappling an enemy from the back, she goes into a takedown animation.




Tuesday, May 28, 2013

Nassa the Gnome, Version 2

I wanted to experiment with animated textures for facial features, which was my original plan with the old Nassa model.  I've been on a low-poly model kick for a little while, so I decided this is the ideal time to create a new model.  The goal was to stay under 1000 tris.  I also intend to take this one through textures so I can test using animated textures for the face in Maya and in Unity.

I did consider working from my older model, but I really wanted to try applying everything I've learned over the past few months.  It's interesting to see how similar it is to my old model, but how the shapes are so much better now, with fewer polys, too.




The picture above is the newer sketch I was working off of for this new model.  I fleshed out my original idea and design, visually describing the materials her clothes were made of, and the individual layers of the clothing.  I leaned towards a more cartoony look, since I wanted to push the designs of our three DnD characters; one short cute female gnome, one big beefy human/vryloka, and one fat stocky dwarf.

Tuesday, May 14, 2013

Using a Rivet Script with Overlapping UVs

When working on my facial rig test, I ran into the problem where I had overlapping UVs, which caused issues in the script.  My solution was to move the overlapping UVs into a different UV quadrant.  Since the texture tiles at a 1:1 ratio, moving the UVs into the (-x, y) quadrant means they function the exact same, but their coordinates are different for the sake of the script.  Clever.

I used the djRivet script for Maya.

Epic Games Style Facial Rig

This was my experiments on the Epic Games style facial rig.  It essentially allows them to make one hero face, controlled with morph deformers (blendshapes), and then transfer the animation to a joint system on a series of different faces.  Joints are much cheaper to use in a game engine, and it is much easier on the animators to use a single system across all of the characters in the Gears of War game.


I edited the Nassa rig to have a mouth to test this out.  The left Nassa face is the hero using blendshapes.  The controllers drive that face, which in turn move locators parented to the verts on the face.  (I used a Maya rivet script to constrain the locators to verts.  Make sure your UV spaces are unique!)  Then those locators move the weighted joints on the character's face. The transfer wasn't exactly 1 to 1, but it was pretty close, and with more work, I'm sure it'd be closer.  With a higher-poly face, I'd need some more joints and a bit more time in weighting.  However, even these limited joints transfered to the high-poly Chip face pretty well, with minor editing on the joint weights.

(video coming soon, too)

Tuesday, April 23, 2013

Grapple - Heavy Mocap Cleanup - run cycle and Amina actions

One nice thing about motion capture is how fast you can turn around animations, or you'd think.  The idea is that you start your animation past the blocking stage; mocap sort of gives that to you.  There is a lot of work involved in making it loop properly, but the cleanup stage feels an awful like blocking, just with a whole lot of keys.  But occasionally you'll come across an animation that needs heavier keying.  This is an example where mocap didn't give me what I wanted.



To start off, I was never really happy with the original data we recorded.  The actor didn't quite embody the character I was going for, and I didn't actively realize it until late in the process.  We eventually re-recorded the data, this time with myself as the actor, and got a better performance for the character, which helped.  But then there was the problem with movement speed.  We chose to use root motion on the project, instead of having motion controlled programatically.  This means the way the character feels is controlled by the animators, not the designers; that means animation cycles are spent exporting over and over for the design team.  Mistake number two.

I ended up spending a week tweaking all of the 4 run cycles (each direction) to increase the speed as much as possible without breaking the rig.  And in-between all of that, I was constantly checking it in UDK to see how it worked out.  By the end of it, I essentially doubled the move-speed in each direction by dropping the character's hips and increasing stride length across the board.

After all of that, I can't tell what would have taken longer, motion capture or keyframe animation.  I'd like to think that mocap was still a bit quicker, because we may have run into the same problems with in-game speed; though it would have been really easy to check early on with keyframe animation.

For good measure, here are a few more mixed animations.  The first video is completely keyed, except for the idle.  The second video uses mocap data at the beginning and end.



Monday, April 8, 2013

Chip Facial Test

I recently had a project to rig up a face and animate it; the important part was making a script that did it automatically.  I just used the same head and morph deformers that I had made the previous year for the Chip model.  I had forgotten how fun animating faces was, as well as scripting.



Oh Chip, you're so racy.

Tuesday, April 2, 2013

Nassa the Gnome Animation and Mocap

We had an assignment to take some mocap data, and make 5 animations from it.  I decided to make it into a personal project, by running and directing my own mocap shoot to get exactly the shots I wanted.  And then, I proceeded to make thirty-some animations from that.  I modeled and rigged the character myself, and designed her to be in the style of a low-poly mobile game or a third person action game.

The attacks and attitude were based off of my DnD character (a naive dagger-wielding sorceress.)

I recently rendered them out, and I've included some of my favorites from that collection in the video below.  They are a mix of mocap cleanup and liberal keyframing.