Rig Tips

VIKING RIGG ~ Alex Angelis

Yet another very beautiful and neat rigging reel for a lovely character design. Alex is a self taught rigger and he mentioned in his comments that it took about a month of his free time to create this rig! I really enjoyed how he have setup-ed simple looking, flexible finger and foot controllers. The real neat job was done on the facial with Osipa style joystick controller UI and a layered secondary on mesh “sticky controllers”. Nice job … worth a watch πŸ™‚

Troll Hunter VFX

Some video demos of “Troll Hunter VFX” work that I really liked and wanted to share. Outstanding job done to bring out the hyper-realism for the character!

Character Development and Rigging for Facial Animation Part 1

Really neat tips and tricks demo on layered joint based facial rigging by a good friend of mine, Mr. Jonas Avrin!

“This demo illustrates the steps taken to develop a character from concept sketches to finished facial rig in a simplified format.  This is an actual rig I developed with the use of proprietary rigging tools in Maya utilized daily at work so I’m not going to demo those tools.  However, future installments will incorporate the use of tools that I have written and that you can use to aide the building of complex facial rigs such as this, and include overviews of more advanced rigging techniques.  I would also like to break the process down into chunks to really go into more detail about things you should be thinking about if you are trying to rig a face.  This is an ongoing process so stay tuned, I have lot’s of useful tips to share.”

Worth watching … more parts coming.

Twist Joint Setup Overview :)

I have seen people and previously me myself using twist joint setup (usually while rigging forearm twist) using the good old rotational weighted constraints or direct rotational connection with offset values to give even twisting. It works great for straight aligned joint rotated or twisted in just single direction for example rotate X, but once you start rotating in all direction which we all tend to, some thing weird happens, something not so good that is known as flipping. This flipping behavior is the result of GIMBAL LOCK! Well then, that is a major issue.

Basically, the flipping can be avoided if we stay out of rotational constraints or connections. I am going to show two methods on how this can be achieved.

1st Method (Aim Constraint with Up Vector) : The first method deals with setting up a joint twist using the power of aim constraint. The twisting of each joint is controlled by World Up Objects, which are basically locators re-positioned on top of each joint. Once the locators are moved, the joint twist evenly without any flipping. Check out the images below for detail!

2nd Method (Spline IK with Up Vector) : The second method is pretty straight forward. Create a regular spline IK on a given joint chain. From the advance twist option, make sure that World Up Type is object Up (Start/End). Just like the aim constraint, the up locators are used to setup the advance twist for the entire joint chain. Again, check out the images below for detail!

Therefore, both of the method shown above can be applied for creating a non – flipping GIMBAL LOCK friendly twist setup which can be applied for regular forearm twist or whatever. Spline IK Advance Twist doesn’t seem to work very well with mirrored joint, in such case just re-root the mirrored joint chain so that the end joint becomes the parent (Maya Bug). I hope this post could be useful to you, let me know if you have any concerns. Cheers πŸ™‚

P.S. here is another cool alternative for no flipping twist by Cedric Bazillou. He used a custom Quaternion based Aim Constraint node to achieve the result. More info can be gathered from his blog!

Yet another cool post by Keil Figgins “Forearm Twist: An Animation Solution“. Good read!

“Lost Animation when loading Referenced Rigs” by Mark Jackson

Here is a really good read for anyone animating in Maya. Mark Jackson has descrived a good work through for solving this annoying problem when animating via file referencing!

“This is Particularly relevant to referenced Rigs which have characterSets.

So this has come up a few times on the forums and I’ve also had emails asking how to fix it so thought I’d drop some info up here. The issue is that at some point the referenceEdits that connect Animation Data to a referenced rig can get broken or corrupted. This means you can be animating away all day, saving incrementals as you go, completely unaware that when you load this scene in, all animation will be lost..or so it would seem.

see this post recently:
http://forums.cgsociety.org/showthread.php?f=7&t=990314

The issue is usually the referenceEdits themselves. What sometimes happens is that the ‘connectAttr’ block in the referenceEdits gets blanked. We have no idea why, neither does Autodesk, it’s completely random. Its also more common on files that came from 2010 and have been loaded in 2011. It also was an issue with rigs that had characterSets on the early release of 2011 IF you were using AnimLayers. (pre hotfix2)

So what to look for?

If you open up the Reference Editor then go to file>referenceEdits. In there you should get a list of all the edits performed since that file was initially referenced in. It’s basically a macro that the file load uses to reconstruct the file. So, take a look in the list, see if you still have a large ‘connectAttr’ block. These should be the connections from the characterSet (placeholder list) to the anim curves themselves. If these edits get corrupted then as I said, you can spend all day saving incremental saves which are all broken but you wouldn’t have been aware of them until you reloaded the scenes and the reference list got re-passed.

Now there are some good things to help you. Firstly the fact that the connections aren’t there doesn’t mean that there’s no link from the anim curves to the reference. What happens is that the curves will be left connected to the references RN reference node. If you graph the referenceNode in the hypershade you should still see the connected anim data. It’s what happens when you unload a reference, the anim data is cast back to the referenceNode for safe keeping.

So, graph the data, see if it’s there, look at the referenceEdit list, see if it is correct or not. If you have no ‘ConnectAttrs’ then its the same issues we have.

Fixing it is a different issue. Basically we need to write a little tool which spins through the characterSet plugs, then the animCurves left connected to the RN node, does a nameMatch, then reconnects the data. The following dropped into a Python script Tab should do it, just select the characterSet you want reconnected!”

  1. import pymel.core as pm  
  2. import maya.cmds as cmds  
  3. cSet,type=pm.ls(sl=True,st=True)  
  4. refNode=cSet.referenceFile().refNode  
  5.   
  6. if not type==‘character’:  
  7.    raise StandardError(‘You must select a CharacterSet to reconnect’)  
  8. if not refNode:  
  9.    raise StandardError(‘Given characterSet is not from a referenced file’)  
  10.   
  11. animCurves=refNode.listConnections(type=‘animCurve’,s=True)  
  12. cSetPlugs=pm.aliasAttr(cSet,q=True)  
  13.   
  14. for plug in cSetPlugs[::2]:  
  15.    for anim in animCurves:  
  16.        if anim.split(‘:’)[-1].endswith(plug):  
  17.            print ‘%s >> %s’ % (anim,plug)  
  18.            pm.connectAttr(‘%s.output’ % anim,‘%s.%s’ % (cSet,plug),force=True)  

RIGOLOGY ~ Letter from THE PUPPETEER ;)

What exactly do you need to be a good rigger or more lead a bunch of fellow artists!? Is it really age that determines a person becoming a lead? Experience may be!? What it really takes to be a sucessful rigger? What are the basics and the fundamentals? ~ Some of the countless thoughts being processed by our brain! So what else …

Well, my point is if you keep learning and updating your skills with passion and patience, you are going to be a good rigger. Once you have mastered the art you may as well start leading a bunch of artist! To lead a team is another challenge, you need to have strong communication skill and the motivation and will power to complete an assigned task. Of course you will have to keep the team happy and motivated. To be a lead or a superior, it doesn’t matter with age; it depends on your overall skill and talent. The real point is that you are never going to master a subject! Learning never ends. Problems leads to solutions and solutions leads to more problems. Never ending cycle ain’t it? Richard William once said he just learned how to hold a pencil. Now then, what have we learnt yet?

The core fundamentals for rigging is not just the tool and software; it is the Art. Always study reference materials for characters in motion, creature anatomy, study animated cartoons or characters, study the facial expression and acting of actors in movie and such. All these things add up and you can visualize how the joints are placed for the skeletal anatomy, how to setup an animator friendly rig; flexibility of the controllers and so on. One more crucial factor to be a successful rigger is to learn and respect the critiques and comments that the animators and directors throw at you. That’s a how you update your skill! We all are aware of the fact, how important INTERNET has been in our daily life and career. Make sure to go through those wonderful forums, blogs, websites, tweets and interesting videos that creative and passionate people like us share with the community πŸ™‚

Here is a little quote that makes a really good sense “Good Artists Copy, Great Artists Steal” πŸ˜€

That’s pretty much it, keep the spirit and enthusiasm alive πŸ™‚

Facial Deformation Based On Joints & PSD

Here is a really cool demonstration for facial deformation based on joints and corrective PSD (BlendShapes) by Andy van Straten. The pose space deformations are triggered by several controllers in the setup. The combination of joints and PSD gives some great facial deformation to this character or let’s say a facial deformation masterpiece. Really liked it!

Below is the video demonstration by Andy on how he actually setuped the PSD and overall facial rig. Really neat stuff!

P.S. “cvShapeInverter Tool” By Chad Vernon. For creating corrective shapes…. ultra fast!
http://www.chadvernon.com/blog/maya/free-cvshapeinverter-tool/

Dynamic Page Turn Tutorial

It’s been a little while I created some video demos and tutorials. Here is a video tutorial on creating a dynamic paper page turn animation using nCloth simulation. The movement is driven by two locators that use transform nConstraints. Hope you enjoy and like my tutorial πŸ™‚