Yea the animation is craptastic, but I got a nice overview of rigging in Max by doing this tutorial. The swim animation is just a wave deformer driving a custom spline IK. I will be back in a few days with a manual animation rig for this guy. Until then, cower before the terrifying visage of Shark!
My first 3ds max model in a loooong time.
I started digging into the 3DS Max modeling tools this evening by doing a pretty nice Digital Tutors lesson. The product of my efforts is this glorious shark. Dominance War here I come. And yes I am a Maya guy, but I don’t subscribe to the whole Max sucks, Maya sucks debate. I love CG.
A blast from the past. Making the real life Lightning McQueen
Aside
I helped the master fabricator Eddie Paul make this and two other working PIXAR cars during my time at his shop. Yes I did edit and shoot the video. Not too bad for a noob.
Nurbs face rig test in UDK
Overall I am very pleased with the performance of the Nurbs surface based, joint driven facial rig. I figured out all of the issues with this latest revision, and I learned a great deal more about how to shape the surfaces. My primary goal in this exercise was to refine the rig, but I thought I may as well try it out in UDK so I could see how it looks in engine. The results are not as good as they could be due to several factors, however I think the next round will be spot on. Once I finish the final revision of the rig, I will walk you through the rigs advantages while describing how to create one of your own.
Old Lip Sync Test Take 2
In 2008 I did a test for the facial rig we would be using for Golden Axe. Time, lost files, and updated video codecs has left my original video without sound. I liked the animation a lot, so I decided to redo it this afternoon. Tyris Flare is the property of SEGA/Secret Level and was modeled by John Hayes. The auto rig for the face rig was designed by Rich Katz. I did the setup, poses, and skin weighting. I hope you enjoy.
Face Rigging And UDK Weekend
I spent a few hours this weekend hammering out the final details of the Nurbs surface base face rig I have been working on. So far the rig is realy cool, however I will need to make some adjustments to the mouth surface. I found out that it is important to pay attention to the UV directions of each surface. It just makes it easier to setup the controls later on. I will get into more detail in a later post where I will walk through the rig build process. I will also show off a few handy Python classes that will make automated building a snap. Right now it is late.. and I am tired. Here are a couple screen shots to give you a glimpse of things to come. By the way, the model you are seeing comes from Pete over at http://www.cgbootcamp.com/ . Pete wants to get some poses on this character, and I have been rigging her up to test out some procedural rigging tools. The screen shots don’t do the model justice. Just wait until you see her in all her cgfx shader glory. Here is Pete’s site so you can see her rendered. http://blog.peter-anderson.com/ The screen shots are from inside UDK.
Here is the face rig created with surfaces and follicles followed by a screen grab from UDK.

Maya + Python: Create a locator at every joint
I am going to stat posting some code around here. If you don’t know, I mostly work in Autodesk Maya and I like to write my scripts in Python or PyMel. I am always writing a little snippet of code to handle mundane tasks, so I thought I would start posting those snippets for all to enjoy. I will of course be posting more advanced stuff at some point, but I figure I need to start this nerd party somewhere. One thing I tend to do a lot in my rigging is create and place some object and the position of my joints. In this case it’s locators. If you are totally new to Python in Maya, you will need to know these beginer tips.
1st Make sure you post this code in a Python script window.
2nd Make sure you import the Python commands library into your session with this. import maya.cmds as cmds
3rd Enjoy doing stuff faster.
joints = cmds.ls(sl=True)
for joint in joints:
lctrName = joint.replace('gjnt', 'lctr_ctrl')
jntPos = cmds.xform(joint, q=True, t=True, ws=True)
lctr = cmds.spaceLocator(n=lctrName, p=jntPos)
Our true faces
I recently had the honor of attending a one day class hosted by Ed Hooks. If you don’t know, Ed is the author of Acting For Animators. Get more info on his work by visiting http://www.edhooks.com/
Ed presented a number of extremely informative insights into the art of acting, but tonight I want to focus on one observation that is sure to have a considerable impact on the way I rig and animate the human face. There is a theory going around that the human is at all times displaying two mental states. It has been observed that while watching someone speak, our eyes first go to the speakers right eye, then left, and finally the mouth. The eyes tend to continue in this fashion through out the duration of the conversation. In what is perhaps an evolutionary trait we developed to accommodate this eye movement, we generally display a different state of mind on both the left and right sides of our faces. On the right side we display our projected state of mind; on the left our true selves slip through. Ed introduced this theory by showing us a series of photos featuring some well known faces. The photos were folded in half so we could clearly observe this phenomenon. In similar fashion, I have prepared some images for you to browse through. Pay special attention to the face of Charles Manson. Keep in mind that Charlie was a sociopath. Notice the complete lack of presence on the left side of his face. I apologize if the images get out of order.
Modular Procedural Rigging and Animation Retargeting
Over the past two years I have been doing a lot of work with procedural rigging systems. In the most recent iteration I have created a system that blends multiple animation control systems through a node which then pumps the output to a final rig skeleton. This concept seems to lend itself to being extremely receptive to animation re-targeting, however I have not yet landed on the exact way I would like to implement that feature. With the addition of HumanIK, Maya now offers a robust mechanism for animation re-targeting. My big issue with HumanIK, and motion builder has always been the sacrifice of a custom rig that animators enjoy using. So the question to answer is how do we get re-targeted animation directly onto our animation rig? The video below shows a very clever solution to the problem.
I have an interesting theory where in we take the idea presented in the video and plug that in to a blended animation control system. What I am saying probably sounds cryptic at best, but that is because my thoughts on this topic are not yet fully fleshed out. I don’t intend to return to this when time allows, so keep an eye out for future posts on this topic. Anyhow, here is an awesome video from a true master. Enjoy!
Autodesk MasterClass – Live Animation Binding from Mark Jackson on Vimeo.
Tech Artist’s Credo
Thank you Rob Galanakis for organizing this.
I am a Tech Artist,
Every day I will teach, learn, and assist,
And build bridges between teams, people, and ideas.
I will observe without interrupting and mediate without judging.
I may not give exactly what you ask for,
But I will provide what you need.
I am a Tech Artist,
I will approach every problem with mind and ears open
To my colleagues and peers across the industry.
I will solve the problems of today,
Improve the solutions of yesterday,
And design the answers of tomorrow.
I am a Tech Artist,
I am a leader for my team,
And a standard-bearer for my community.
I will do what needs to be done,
I will advocate for what should be done,
And my decisions will be in the best interest of the production.

