Super Simple Rig


#1

[B]The rig is now at version 1.4

Download it here:
http://www.superrune.com/tools/supersimplerig.php

Here are the most recent changes:
http://www.superrune.com/tools/supersimplerig_history.php

Feel free to post questions and feedback by posting in this thread.[/B]

------------------------ Original post -----------------------

Hi!

 I've just received a grant to expand and release my rigging system, which has been developed and used in production since 2008.
 
 I thought I'd kick the pre-release out of the door, because there are a couple of issues with it that I'd like to discuss with you people out there!
 
 Visit my site to check it out and download the beta/pre-release:
 [http://www.superrune.com/technical/supersimplerig.php](http://www.superrune.com/technical/supersimplerig.php)
 
 Here are some thoughts on the rig (which will be in the upcoming help page on the plugin):

Unhappy with CAT and Biped, I decided in 2008 to program my own simple and easy-to-use custom rigging system. I wanted something with minimal setup, high framerates and little fuss. I’ve kept upgrading it for every new character project the past five years, and I’ve just received a grant to add more functions and release it to the public.

 The rig is inspired by the work of Paul Neale, Jason Schleifer and Paul Thuriot, and it carries with it a lot of their principles. It's made to be fast, minimal and modular, with as few controls as possible. It tries to avoid counter-animation, caused by multiple controllers affecting a single bone. In a way, it's a Max rig that wants to be a Maya rig. In Maya you can do beautifully complex rigs using just clever node connections, so in the same fashion, this is a rig that tries to manage without too much wiring, script or expression controllers. Also, the rig does a Channel Box imitation, where you can reset or dial in every animation value from the modifier panel.
 
 The rig is part of a larger animation system that makes it easier for individuals or small teams to make animated projects in 3ds Max. Unlike the powerful reference system in Maya, 3ds Max has nothing comparable for easily swapping out a character rig while keeping the animation stored on it. This rig overcomes that obstacle by storing all animation in its controllers, which can be saved out and loaded onto a new rig. This opens up a more non-linear production process, and puts less pressure on the rigger. I have used it on two projects where we updated the rig on several occasions - without any loss of animation
 My plan ahead is to:
 - Add squash/stretch presets to most bodyparts.
 - Add storing of rig presets.
 - Add custom bodyparts, such as tails. The code is there, it just needs a proper GUI.
 - Face rigging. I have code for controller setup and a mouth bone system. Again it needs a GUI.
 - Loading of skin data, perhaps breaking up a mesh for pre-skin rig testing.
 - The graph editor is a bit of a mess, it's best to turn off transforms and only view attributes. Will have to solve that.
 - Quadruped rigging. It's in there, but needs some fixes.
 - Documentation and some tutorials.
 - A lot of other stuff!

I want most of this to be done before summer. Preset-saving, squash/stretch and face rigging have highest priority.

 Here are some of the things I'd like feedback:
  - Are there install problems?
 - Any errors when running the script or clicking buttons? 
 - What is your playback framerate when playing back the animation?
   - At the moment, the hand has a separate rotation and translate controller. That was to avoid gimbal lock and make for "cleaner" curves. But is that cumbersome to work with?
 - I've linked some rotations directly to the attribute holder, which means they are in radians. When dialing, you very often have to hold "alt" for proper control of the values. Will that be a problem?
 
 I'd like the last two oddities to stay that way, but I will be listening if they are causing issues.

Finally, a little warning! I only program as a hobby, and this was just a part-time project that happed to work better than I planned! A lot of what I can do will be limited by the time I have available and my programming skills! :slight_smile:


#2

Looks pretty neat! I’ll give it a whirl when I get home this evening.


#3

First, congrats on the grant and release of this tool. Second and more importantly, thank you very much for releasing it as an open (ie, non-encyrpted) tool.

-Eric


#4

I totally hate it when people release free maxscript tools that are encrypted!

My only reason would be that my code is so bad I prefer to hide it, but I’d rather have comments on it than to hide it altogether :slight_smile:


#5

Great work man. I love that you are sharing and willing to help improve the industry.


#6

thanks, let’s try


#7

Great news. Thanks Rune!


#8

when I push Builder button pops the following message. it’s means I must install attribute holder too?

what a stupid question :hmm: . I’m sorry


#9

First off Rune, a huge show of appreciation for this release. Max is in dire need of a rigging system like this. I almost weep when I see some of the amazing Maya rigs out there.

I’ve had a play with the rig and I really like it. I almost always animate with IK arms so I would much rather be able to avoid gimbal lock as much as possible by having seperate translate/rotate ctrls even if this sacrifices both on one controller. Even with euler filtering it still often means straight-ahead animating the hands on 1’s with a single control.

Also, the channel-box-like zeroing is a really nice touch. :slight_smile: And the ‘Alt-holding’ seems fine to me…

Any plans to add IK to FK - FK to IK switches? Or CTRL>click on the character selector GUI to select multiple nodes?

I eagerly await updates and will continue to test and post issues here.

Great work! :smiley:


#10

all works fine. one problem -I can’t change character name, pops script error


#11

Just had a play with this for half an hour - Wow. This is amazing! Thanks SuperRune for your hard work and congrats on the grant.

For someone like me who’s not great at rigging, this could be a life saver. I look forward to your continued development.


#12

Thanks for the feedback so far!

Sasha: The PEN Attribute Holder warning window might be a bit too much like an error window. I'll think about changing it. What is the script error message you get when renaming the character? Is it "Unknown property: "setName" in undefined" ? I just found that myself, and its an easy fix :) For now, create the locators before you change the name.

Daniel: You're my kind of animator! I prefer IK arms myself, and had too many gimbal issues with one controller. I am thinking of doing a script that watches if the user change from translate to rotate, and then will switch controller accordingly.

If you click the "more" button at the bottom of the character selector GUI, you will find FK/IK switching at the end of it. I decided to keep it out of the rig to keep it clean. The switch will add keys to the previous frame and then switch on the current frame.

And you should be able to select multiple controllers from the GUI by right-clicking on additional controllers. Unfortunately, this will not work like Maya where you can change the values for all selected controllers.

I will do some proper tutorial videos later on. But I have some older videos that show me playing around with the rig:

[https://vimeo.com/33839278](https://vimeo.com/33839278)

[https://vimeo.com/6627691](https://vimeo.com/6627691)

#13

This is a really valuable contribution, thanks! Do you have, or have plans for, an issue tracking system so people can log bugs/requests?


#14

At the moment I’m just putting your suggestions and bugs into a text-file on my Dropbox - together with all of my to do-items. It’s a simple solution that will have to do for now :slight_smile:


#15

<ot>I like your website design :)</ot>


#16

Oooo. Very nice Rune!


#17

Thanks a lot Kees! It’s pretty simple compared to what you’ve done, though :slight_smile:

And thanks for the comment on my website, Rotem!


#18

Rune, this is really, really awesome work. I love how light it is and have a feeling it’ll be a lot easier to export in to a game engine than the rig I’m currently using, which is unbelievably complex (but also awesome). I’m going to be playing around with this a LOT.

When you add squash and stretch to the rig are there any plans to allow the neck to stretch with the head’s translation?

Also, any plans for bendy/noodle limbs? :drool:

So far I’m really liking all the UI and tools, too. Really well thought out and executed.

The only two “bugs”, I hesitate to call them that since it’s only a pre-release, but the only two I’ve noticed so far are that you’re able to click the “Build Rig” button before you Create Locators which will crash the script, which would just be for idiot proofing, but I’m an idiot and did it on accident. :slight_smile:

And the other is that certain rig bits don’t seem to scale in proportion to the rest of the rig, like the fins on the spine bones or the position tolerance of the arm IK. So like creating a rig with a height of 10.0 gives spine fins that are 2.0 (proportional seems like it would be 0.2) and IK position tolerance of 1.0, instead of 0.1 which makes the IK arm translation path all jagged, like it’s bumping up a flight of stairs.

Anyway, can’t wait to watch this thing develop! Thanks again. This is great!


#19

Great feedback, Andy!

Not sure if can work with game engines. The bone chain is of the “broken” type (again for speed), and as far as I understand game skeletons need to be connected all the way? If there’s enough interest, I will see if I can solve what is needed for a game-compatible rig. I’m afraid all the constraints needed will slow down the rig.

Stretchy head/neck are in the plans. And I was actually going to look at bendy limbs this weekend! I really need that myself for my next project, but I’m not 100% sure how to do it. I have an idea, and will share it as soon as I have a prototype.

Good catch on the rig-button. Didn’t think of that and will fix it straight away!

And a resizable rig is on the To Do-list. It worked earlier, but as the rig got more complex the scaling broke. You can try digging into the rig layer and parenting up stuff. Sometimes the scaling will work if you parent the topnodes of each arm and leg to the root controller.

Edit: Perhaps I misunderstood the scaling! I realized that you are talking about the initial size when things are created? The rig size value is a late addition, and not everything is connected up. I will try some crazy sizes myself and see if I can take care of the worst offenders.


#20

Right! That’s what I meant and I figured it was just a matter of things not being finished yet.

I’ll try getting the rig exported into either our game engine or Unity just to see what happens. I think it’s going to work, though. I’ll post back with what happens.