Started a new job this week

 

I started a new job this week. I’ll be working for DICE in Stockholm on a very exciting project. DICE has always been right on top of my list of studios I wanted to work at, so I couldn’t be happier!

nv Eye Rigger

I completed the script I was writing to quickly set up a cartoony eye in Maya. It works pretty good and it’ll save you a lot of time when you’re setting up the eye lids for your characters. And, as outlined by the post below, I think it’s one of the best techniques to rig an eye 🙂

 

You can find it for the low low price of 5 euros on my Gumroad page: https://gumroad.com/nielsvaes#

Best eye rigging technique ever!

I started working on an eye rig solution based on Marco Giordano’s work. All credit goes to him for coming up with it. I had seen it once before, but learned the technique through Wade Ryer’s course. The setup works by having locators ride a curve and joints pointing towards those locators. When you then deform the curve, the locators move, which in turn move the joints, which in turn moves the skin. The beauty about this set up is that it really feels like the eye lids are sliding over the eye ball. I’ve added some driven behavior for looking up, down, left and right and the whole things feels really good when you move it.

Because this is something I’d like to add to more of my rigs, I started scripting out the process. I’m still working on it, but wanted to add a little update on the whole thing anyway 🙂

A quickie, set a Maya enum by string

I’m just adding this here on my site because I always need to find it in older scripts and I don’t want to keep digging for it. So, as far as I know, there’s no easy way to set an enum attribute by a string value in Python. You can only set it by index value, which doesn’t do you much good if you don’t know the index of the value you need. In case you need it here’s a quick little function to use a string value to set the enum:

def set_enum_by_string(node, attribute, string):
    enum_string = pm.attributeQuery(attribute, node=node, listEnum=True)[0]
    enum_options = enum_string.split(":")
    index = enum_options.index(string)
    pm.setAttr("%s.%s" % (node, attribute), index)

Example use:
set_enum_by_string(“my_super_cube”, “color”, “green”)

Add space switching to any rig without headaches

Setting up space switching on a rig, be it for orientation or props or something else, can be quite an elaborate process. Having to set up the different empty groups/locators, constraints and setting up the actual switch through set driven keys gets boring real fast. So I wanted to show off this little tool that allows you to very quickly set up space switching on your rig.

You can use any transform node to act as the parent of your spaces. Select the controller you want to add the switch to and make sure the spaces you want are also selected in the tool. If you use offset/driven/parent/whatever groups for your controller, you can tell the tool how many nodes it should travel up the hierarchy to add the constraints to.

Get it here: https://gumroad.com/l/ihJbo