Tuesday, May 17, 2011

Make Time last!


Monday, May 2, 2011

More Handy Scripts

I was going through testing some skin weighting and found myself wanting to zero out my ctrls easily. Came up with little script that would zero out all the keyable world attributes. I was using undo to revert my movement but i was running in to the issue of going back a bit too far or painting myself in a corner.


import maya.cmds as mc
import maya.mel as mm
selectionArr = mc.ls(selection = True)
for objName in selectionArr:
if len(objName) > 1:
for attr in ['t', 'r','s']:
for axis in ['x','y','z']:
if mc.getAttr((str(objName)+ '.' + attr + axis), keyable=True):
mc.setAttr(str(objName)+'.' + attr + axis, 0)

Tuesday, April 26, 2011

Selection, Renaming, and Iteration.. Oh My!

Thought i would share some of the handy scripts i have made why making rigs for games. Some of these are short, but have saved me tons of time.

import pymel.core.general as pmg
import pymel.core.windows as pmw
import pymel.core.rendering as pmr
import pymel.core.modeling as pmm
import pymel.core.animation as pma
import pymel.core.system as pms
import maya.cmds as cmds
import maya.mel as mm

This one is handy, will rename some objects and make the last bone in the chain "Nub". This needs some adjustment to be able to handle number padding, but its a goood start.

def renameBones(boneName):
# need to add number padding as a function

numStart = 1
selection = pmg.ls(sl=True)
for obj in selection:
pmg.select(obj, hi=True, r=True)
nubTest = pmg.ls(sl=True)
# Check to see if node has children, if not name it 'Nub'
if len(nubTest) == 1:
replaceName = boneName +'Nub'
pmg.rename(str(obj) , replaceName)
replaceName = boneName + '0' + str(numStart)
pmg.rename(str(obj) , replaceName)
numStart += 1

I needed a quick way to select all the joints in a chain, and ignore all the other constraints and nonsense that can get added in there.

def sJoints():
origSelection = pmg.ls(sl=True)
joints = []
for obj in origSelection:
if pmg.nodeType(str(obj)) == 'joint':
pmg.select(joints, r=True)


I found that when creating custom rigs I had to iterate alot through attributes here is a pretty quick solution for doing common things through attributes. Basically making an array out of each and running through them.

for attr in ['t', 'r','s']:
for axis in ['x','y','z']:
pmg.setAttr(str(objName)+'.' + attr + axis , lock=True, keyable=False)

Monday, April 25, 2011


Was reading more of the Drawn to Life series and stumbled across yet another gem that I had the share:

"You must create. The injunction of life is to create or perish. Good physical and mental conditioning are necessary to do this. Remember this: The creative energy that created the universe, created you, and its creative power is in you now, motivating you, urging you on - always in the direction of creative expression. I have a formula: 'Impression minus expression equals depression.' This is especially aplicable to artists. We have trained ourselves to be impressed (aware) of all things around us, and in the natural course of our lives those impressions cry out to be expressed - on paper, on canvas, in music, in peotry, in an animated film.
So shape up!"
- Walt Stanchfield

There is so much truth in what he says, if i go too long without sketching, writing, rigging, or modeling something i can feel a blackness start to creep in my life and i start to lose any sort of purpose. All it takes is a couple of creative sessions though and i am back to a brighter life, things have a richer color, and i make connections that werent there before in all aspects of my work, and life. Never under estimate the power of sitting down and letting you imagination wander, in whatever media most speaks to you!

That being said write!! If you want to do something great you have to get your ideas out somehow! Moments of inspiration can come to you in a flash, and be gone just as quickly. Force yourself to be aware enough to recognize them, and you can start to put yourself in more situations that will inspire you but be sure to write it down, otherwise all is lost! There is no telling if you will have that unique thought again!

You can tell yourself that you will remember , and you might, but most likely you wont. The writing not only reminds you of the thought, but it also reminds you that you HAD one! How many great ideas have you had that you dont even remember to think about??! All that is left is a vague memory...

Thursday, March 3, 2011


Complacency one of the number one problems with us as a whole, we let ourselves become comfortable. We let ourselves fall into routines, routines that were once new experiences. Before they were routines, we were learning something we were trying to understand the best way to accomplish something. But once it gets to the point of routine, the point at which we are no longer thinking that is the danger. We have to mix things up for ourselves, drive a different way to work, learn a new skill, a new language. Draw! It doesn't have to be good, but we need to force ourselves to think differently through different paths we find solutions we didn't know even existed.

I have recently started to get myself to draw again, I have forced myself to carry a backpack around with me that has a sketchbook in it, and every free chance I get I pull it out and draw what I see around me.

If you haven't check our the "Drawn to Life" series by by Walt Stanchfield then you should! Its packed full of so much wisdom that you can just open it up to a random page and read something that applies to all areas of life.

You can find it on Amazon here

A great excerpt that got me sketching again:
"We are not talking about change for the sake of change - but for improvement - for expanding the consciousness, for an ever fresh and open-minded attitude to your piece of the universe. Habits are a blessing when they relieve us of the burden of having to relearn everything we do everyday. But if they lead us down the narrow road of complacency , they become a drag"
- Walt Stanchfield

We all experience the world differently, so why not expand your understanding of it by learning something new?

What have you done differently, or learned today?

Sunday, February 20, 2011

2007 Demo Reel

I found the hi-resolution version of my demo reel after I graduated school and re uploaded it to YouTube. Apparently google video is not longer.

2007 Demo Reel

The funny thing is this is probably my most up to date reel, for the most part working as a Tech Artist I have found that there gets to be fewer tangible things that can be put to a reel. Sure I am able to still work on character rigs, and sometimes get my hands on some animation, but for the most part if find that my days go to working with artists, debugging build errors, and training artists in custom tools.

I am now supporting the entire maxscript library for the studio I am at, but any scripts I create are owned by them so its dodgy to know what exactly I can share.

That being said, when this new title comes out I will be able to post my new character rigs, and will try to share some of the scripts I put together to speed up the rigging process.

Monday, February 14, 2011

Awesome Video on Cloth geometry

Dan Miller pointed this out to me as he was on his quest to improve characters and geometry flow.

Its a great little video on how to switch up your geometry so that cloth deforms better, or more natural.