Animation Friendly Rig & Mocap / Maya HIK / TSM2

I’m helping to build a new pipeline for human characters in Maya that have to be hand keyed and animated with mocap. Maya 2012 is the main tool of choice and we have enough licenses for that. I have tones of experience with TSM2 / Setup Machine and previous versions of Maya, but not so much experience with Maya HIK and bringing Mocap onto rigs (outside of a custom tool environment).

I’m looking for any tips and suggestions to guide me towards the best pipeline choices and maybe a few technical work-arounds further down the line.

Here’s what we have:
Maya 2012 - entire studio has some to lots of experience
Motion Builder - no experience, limited licenses available
Setup Machine / TSM2 - Lots of experience
Maya HIK 2012 - just learning it
Natural Point / Optitrack motion capture setup (v1.7)
Poser - Limited / Lots of experience but we’re trying to switch to Maya
Carrara
FBX Converter

I’ve been learning HIK but I can see it’s limitations as far as creating new animation from scratch. I’ve heard it can be used to move the mocap onto an animation friendly rig, like the TSM2 rig, but I’ve yet to get that to work. I got as far as characterizing the TSM2 rig with everything going green. I then lock it, but I can’t create the control rig (the option is greyed out) or bring in any source animation on the Character Controls menu.

Any suggestions, or alternatives to the pipeline I’m currently experimenting with (based on what we have available)?

Hey there,

I’ve recently started using HIK with mocap as well. I am using IpiSoft for mocap, using 2 xbox kinects.

Did you create a new skeleton using the HIK skeleton generator? If so, it starts with a control rig, which would explain why its greyed out. You just have to go to skeleton > HumanIK > Control rig for it to show up.

If you just characterized your own skeleton, and locked it when its green, then I have no idea why it would be greyed out.

I personally dont use the skeleton creator. I characterize my own rig and create the control rig from that characterization. Then import the mocap data, which has its own skeleton, characterize that and lock it. Once both are locked, in the control rig window for your target rig, you click the blue button at the top and change the source to the mocap locked skeleton.

I’ve experimented with everything you’ve just mentioned. But the show I’m working on will have a very large number of human characters, doing very physical stuff, and mocap. So I have to ensure I can use a autorig solution really ( to allow for the variations of proportions) that also receives mocap to the controls (IK, or FK with a switch to IK).

I’ve been mapping the controls of the TSM2 rig, rather than the bones. Mapping the bones of any rig is pretty much useless as I can’t then use the controls. But I’m staying open minded at this point as I know there’s been a lot of developments since the last time I was evaluating this stuff for a production.

Hmm, Im not entirely sure what you are saying with the whole mapping the controls to the rig instead of the bones.

Anyways, here’s a youtube vid on HIK that I found useful. Maybe it might help you.

Yes, I started with that one… I’ve been watching a lot of videos. But nothing yet shows HIK mapping to an animation friendly rig (like the TSM2 rig). HIK seems really cool for retargetting mocap and mapping from one skeleton to another, but my experience of actually creating new animation on it isn’t so good. I’ll persevere if that’s what it takes but I have to think about a crew of animators that will be working with this for years to come and so far the barrier to entry seems high, so remapping to an animation friendly rig seems smarter if it can be done.

I’m currently looking at this video about building your own ‘binder’ or ‘translation rigs’:

Brad tells me that the controls of the TSM2 rig aren’t in a single hierarchy and I’d need to make a middle skeleton perfectly constrained to the controls. I’ll look into it.

I’m looking at iKinema as well… and on the surface it seems to boast everything I’m looking for. Has anyone had any experience with this? The video tutorials make it look like there’s just as many steps involved to get mocap onto the rig. I’m really surprised there doesn’t seem to be anything that just transfers the mocap to the animation rig quickly.

http://www.ikinema.com

When we switched to Maya we evaluated the HIK rig as a potential for all our humoids. However, whether its simply “too different” or awkward our animators were not very keen.

As a result of that we use our own in house rigging tools to auto build our rigs but we still use HumanIK as a retargeter to bind mocap data or animations from other characters onto our rigs.

The one helpful comment i’ll make is something MichaelWood brushed on in one of his replies. Dont map the mocap to you character skeleton, instead you can characterize your FK control rig. By doing this it means you can effectively take any source animation data, whether its mocap or something else and map it directly onto your animation control rig. Providing you have some IK matching scripts you’re then left with the mocap data on your main animation rig in both IK and FK.

In terms of production value, in my opinion the less file dependencies required for any given task the better. Therefore this becomes way more flexible than having to maintain any form of mapping rig.

You’ll have to wrap the whole process up in a script though to get the users workflow streamlined.

Michael, hope the MasterClass is useful. The HIK setup that I showed there is now something that we’ve started to integrate into our internal systems properly, although it’s still in testing at the moment. There are a few niggling issues with using HIK in 2012 and I would not recommend it as an animation rig, but as a retargetter it’s solid.

One issue we’ve found is that if you’re trying to target to one of your own skeletons, and the orients aren’t exactly as HIK expects, then the minute you lock the characterization the feet joints spin. We’ve not yet found a work around or even figured what it’s doing at that point. That said using the binder as an intermediate it’s easy enough to correct and the fact you can just plug-in any character data to a rig is great.

At the time of the MasterClass it was more of a future workflow type thing, but we’ve started to take it very seriously.

Mark

Hmm Mark. I had a similar foot spinning problem using MOTOR and XSI on FBX data. It was consistent, so as far as I recall I just accounted for it in a remapping script. I wonder if it is a common problem.

Ive noticed the feet spinning as well. I just go into the graph editor, grab the mocap foot bone and rotate the entire x axis. Its a simple fix if you dont know scripting. :slight_smile:

The problem is that the characterization is set with those bad rotates from the get go, or so it would seem. So if you’re trying to setup a binder to process MoCap in bulk, the entire batch of data will remap with incorrect feet unless you adjust it manually in the remap settings. If I lock the characterization I want jack shit to move! (I know it’s fixed in future builds so they are aware of it)

Thanks guys, and especially Mark J, I got some great tips from that video. I especially liked the part where you drag the FBX file into the trax editor!

I seem to be moving towards using the HIK as a way to remap mocap to my own rig. Actually I’ve got a workflow going now that looks like this:

Optitrack Mocap FBX > Maya HIK > Custom Binder Skeleton > TSM2 Rig IK Controls.

It looks like a good few steps but the parts that take the time should work in a script so I’m working on that now to speed things up. I’m currently just trying to figure out how to characterize the mocap FBX with a script. Does anyone know what MEL command can be used to choose a body part in the HIK window? There’s some commands here but none of them cover that.
http://mayastation.typepad.com/maya-station/rigging/

By the way I also had the twisted foot issue. But since I had my own custom Binder Skeleton as a step in the process I found a work around that got rid of the problem.

This looks like it should work to characterize a mocap skeleton but I’ve customized it several ways and don’t seem to be able to get it to work.

(Taken from Maya Help for 2012)

// Characterize a skeleton that has not been named according to the
// FBIK naming conventions by using the -sk flag to define the
// purpose of the joints. Select the skeleton and enter the following.
//
characterize -sk “customName Hips,hipL LeftUpLeg,kneeL LeftLeg,footL LeftFoot,toeL LeftToeBase,hipR RightUpLeg,kneeR RightLeg,footR RightFoot,toeR RightToeBase,spine Spine,spine1 Spine1,collarL LeftShoulder,shoulderL LeftArm,elbowL LeftForeArm,handL LeftHand,collarR RightShoulder,shoulderR RightArm,elbowR RightForeArm,handR RightHand,neck Neck,head Head,spine2 Spine2”;

Unfortunately it just keeps failing to find the first item in the skeleton:

// Error: line 1: The object ‘customName’ could not be found in the scene. //

Ok it seems I was sitting on the solution for that but there’s a bug in Maya that wasn’t showing the successful result until you relaunch Maya. This shows the solution at the bottom of the command list:
http://sugarandcyanide.com/blog/2011/08/23/batch-wrangling-part-2-maya-2012-human-ik/

So now I have a Mel script that characterizes the FBX file but it can’t lock because the bug thinks it’s not been successful. But if you save, re-load Maya, load then lock it will work fine. Are there ways to run a MEL script on a file without launching Maya at all? Like a command shell that just processes the FBX file and saves out a new file? If I was going to setup a system to batch process lots of files this would be far better than having the artist sit opening and saving files.

I sent a more detailed answer directly to Michael via separate email, but for general edification on windows systems you use the command “mayabatch.exe” (in the Program Files\Autodesk\Maya2012\bin folder) to run maya without a user interface. It creates a wrapper-like context for windows commandline/batch file execution.

mayabatch -help
will print the switches, with them you can open a file (and thus execute script commands in the file), source a script, run a mel/python command and a few misc. tasks.

I believe that mac/unix users would use command switches on the maya.exe file itself, but that is not anything I can test here.

<* Wes *>

By the way the issue with the feet twisting when you lock the Characterized skeleton is a bug in 2012 and there’s no work around, it’s fixed in 2013.