Category Archives: 3ds max

Production Blog – Motion Builder To Max Workflow P3

It has been to long since I posted on this project, but I do hold down a full time job and I have a family that gets upset if they are neglected for too long. I am happy to report that I have been making some great progress. I simply wanted to get my work to a certain point before doing a write up. This morning I made a major breakthrough where I finally got the whole rig working as expected. I can now successfully transfer animation data from motion builder to a mocap skeleton in Max. The mocap skeleton then drives my custom animation controls without keying the controls, thus leaving them free for hand keyed animation. Before I show the fruits of my labors, I want to talk about the rig and some of the design choices I made. I found that it was easy enough to hookup things like FK controls and IK arms. The real problem areas were the feet and spine. I could have gone with a simple FK solution for the spine and a straight reverse foot for the feet, but I wanted to use something that was a lot more animator friendly.
The Spine
I tried a lot of different things when it came to the spine. Originally I thought I could do something like a Schliefer spine, but the built in spline IK in Max just plain stinks. I then thought I would try my hand at a ribbon spine, which actually worked well, but was a nightmare when it came to solving for my mocap skeleton. I finally ended up creating a custom solution which is similar to a spine rig I got years ago from this book.
The spine uses a motion path to control the position and aim of my bind bones. The twist is controlled by several HIK chains hooked up through float expressions. Here is a video of the spine in action.

The Feet
A good foot rig is hard to come by, and I have spent a lot of time experimenting with different designs. Generally I prefer an attribute driven foot that uses an Ik solver to keep the ball and toe planted on the ground. The IK handles are grouped under dummies that are arranged like a reverse foot, and the rotation of those dummies are controlled by custom attributes on a main foot control. I don’t plan on creating a tutorial for this setup as hundreds probably exist by now. The tricky part of the foot setup is getting the mocap skeleton to drive the attributes without locking up the ability to create hand keyed animation later on. To be honest, I am still working on perfecting this part, but thanks to Brad over at RiggingDojo, I am very close to getting it just right.


I will get a couple images up showing the animation controls at work along side the motion capture data. I am away from my home machine ATM.

What needs to be done?
I think my rig is pretty solid, although I have yet to polish the skin weighting :) Next I want to work on creating a nice space switching system for the arms, legs, and weapon controls. I also want to go in and fine tune a few details, and make sure that everything is still working with animation layers. Lastly, I want to rebuild the whole rig, because I have been patching things together for the purposes of rapid prototyping. Now I need to clean up my mess. Rather than build everything from hand again, I intend to use Maxscript to do my work for me. Fortunately I have been scripting out parts of this process as I go, so this hopefully won’t be an enormous task… yea right.
In closing, I would like to thank everyone that helped me get this far. You know who you are, and you ROCK! I will like to give a special thank you to Denis Trofimov, with whom I have the honor of working with. Denis has been in the industry forever and has been using Max since the day it was born. You may even be using some of his tools without knowing it. Perhaps you have have a script that starts with LUX or DT? Anyhow, I am very grateful to have Denis as a constant resource, even though I feel like my brain is going to burst from the constant information dump. Funny enough, I am assisting Denis with some Max auto-rigging tools, which is perfect considering the nature of this project. I imagine my next post will be pretty Maxscipt heavy, but I do plan on doing a little side piece that delves into controllers and transforms in Max. I find that Max handles transforms and hierarchical relationships a little differently than Maya, and I would like to talk about some of my findings with the goal of making these concepts a little easier to understand.

Production Blog – Motion Builder To Max Workflow P2

I have spent many hours this week trying to decide how I want to approach building a system into my custom Max rig, that will be responsible for handling mocap data. Ideally I want the motion capture animation to drive my rig controls without baking keyframes to the controls. In this way I can still animate on top of the motion capture animation. Ideally I want a way to blend between my motion capture and hand keyed animation so I have more freedom when creating my final animation. Thus far I have come up with the following options for achieving this goal.
1. Use CAT or Biped. This is not a real option. I think CAT and Biped are great for what they are, however neither system is open to modification unless Autodesk decides to give direct access to the API ;) Let’s face it, at some point I am going to want to rig a DragonBearSquid.
2. List Controllers. List controllers are basically designed to allow you to have multiple inputs for any controls transforms. With list controllers I could potentially drive my controls with a motion capture skeleton, while still maintaining the ability to animate my controls on another channel. So far this is looking like my favorite option, but I will need to do some more tests before I can be sure.
3. Animation Layers. As far as I can tell, animation layers are list controllers that are tied in with some sort of reaction manager system. I like the idea of animation layers because they provide an interface for interacting with animation inputs, and they support position and orientation constraints. I did find the ability to enable and disable animation layers to be another useful feature. The problem with animation layers is that they seem buggy and they tie a lot of extra information to your controller. From my limited experience with animation layers, I found them difficult to control, and nigh impossible to get rid of should you want to remove them.
4. Layered Controls. This is my Maya experience talking here. It might be possible to create a layered system of controllers. For instance, you could have your arm control linked to a dummy, and that dummy could be constrained to your mocap skeleton. This approach actually worked well in my initial tests, but failed to do the trick when I got into more complicated systems like a reverse foot. The other issue with a layered system is the number of object in your scene will be much greater and more difficult to wrangle.

The biggest problem I am facing in finding a suitable solution to my mocap transfer problem is dealing with a custom foot rig. I like to rely on a reverse foot or an attribute driven foot because they make life much easier for the animator. Both types of feet are causing issues when trying to use any of the above solutions, but I am optimistic that an answer is just on the horizon. Aside from the foot problem, I am having a lot of success, and I look forward to getting this system worked out so I can dive into some serious scripting.
As always, please feel free to share your thoughts and experience on any of the topics I am discussing here.

Back to the Production Blog

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.

Look out! I'm a shark.