Boston house September 12th, 2009

A quick pic I took on my birthday last year. The trip included my kids first T ride, and an awesome lunch and an even better cannoli in the north end.

boston

Nock September 12th, 2009

Nock nock

Chuck Carr’s www.nocktunes.com

The Bubbles September 5th, 2009

the_bubbles

A picture I took in Acadia National Forest up in Bar Harbor, Maine. We went up this past June and had a great vacation, I highly recommend the bike ride around eagle lake. Stop in at the restaurant at the top of the valley, brilliant.

Here’s a link to the flickr post.

Mount Ida July 16th, 2009

mtIdaMustangs

I am pleased to say that I’ll be teaching the “Computer Animation III ” class at Mount Ida again this coming semester. Ezra Cove, the Program Director of the Computer Animation Department is doing really great things with the curriculum, IMHO.

The class will focus on an introduction to rigging and scripting. The last time I taught the class, I focused on Maya and MEL, since the students had a bit of knowledge in MEL. This time, I plan on introducing more python. Why? Well python is easy, powerful and can more easily extend outside of Maya to connect applications, the web, you name it.

Green, Blue, Yellow, Red July 8th, 2009

green_blue_yellow_red

We had an interesting seminar at work yesterday. Insights Discovery Workshop was a three hour (with lunch) presentation and exercise brought to us by our HR ninja, Kerry. It was steeped in Jungian psychology and reinforced a lot of things I thought of myself as a manager as well as my strengths and weakness in communication with people in a workplace.

I have attended these kind of seminars in the past and have found them kinda funny because they are clearly designed for “normal” businesses. Normal, game development, is not. The thing it most reinforced in me is the fact that I work with a lot of very different, fun, funny and exciting people.

help a python! June 1st, 2009

ball-python

One of the most underused aspects of python is the documentation system. In any def, one can add a line or two of text documenting what the function does, or how to use it. The string needs to be encapsulated by three quotes (single or double) on each side.
”’Like this”’ or “”"like this”"”.

Here is a simple Maya function that gets the parent of the passed object. Note the documentation tag.

1c5c0e1208d67ded6aff21b643375274
Now, for the fun part, you can use something like this to find out what is going on with the def. f719fda8e2be4271b4215f99837eeb30

You can even store the documentation into a variable as you would any string. db5de5e574401837daf8e4e4f13581cf

Commenting your code:Brilliant. Documenting your code:Priceless

Python for Photoshop May 27th, 2009

adobe_photoshop_logo

I’ve been using python at work for about a year off and on between management duties, and other stuff. I haven’t played around much with the com interface, but this has certainly peaked my interest.

http://techarttiki.blogspot.com/2008/08/photoshop-scripting-with-python.html

The ability to interface with other applications via python is huge. I am already planning some validation and error checking (texture sizes, etc) scripts for work using this. Thanks to the tech art tiki for this amazing info!

A little bit of python for Pete April 22nd, 2009

So as I mentioned I am doing a bit of rigging for Pete’s project (see last post). Pete’s left the file in decent shape although I find myself having to move pivot points of the meshes to the joints I wish to constrain them to. “If you have to do anything more than twice, script it” is the motto I subscribe to, so here’s a little python widget I wrote …

def moveMeshPivotsToJointPos(*args):
        allSelNodes = cmds.ls(sl=True)
        selectedJoints = cmds.ls( sl=True, type='joint' )
        print selectedJoints
        if not len(selectedJoints) == 1:
                print 'Please select one joint'
        else:
                selectedJoint = selectedJoints[0]
                cmds.select(selectedJoint, replace=True)
                selJointPos = cmds.xform(query=True, rp=True, ws=True)
                for eachSelNode in allSelNodes:
                        if not eachSelNode == selectedJoint:
                                print eachSelNode
                                cmds.select(eachSelNode, replace=True)
                                cmds.xform(eachSelNode, ws=True,
                                piv=(selJointPos[0], selJointPos[1], selJointPos[2]))
                                cmds.select(selectedJoint, replace=True)
                                cmds.select(eachSelNode, add=True)
                                mel.eval(cons + '-mo;')
                cmds.select(cl=True)
cons = 'pointConstraint'
moveMeshPivotsToJointPos(cons)

Changing the cons variable to the name of different constraints will allow the user to dictate the moving of pivots and the type of constraint to execute, all in one shot.

I suppose a simple UI is in order to change the cons variable.

Below is a commented version of the script, so you know what each line is doing …
moveMeshPivotsToJointPos.py

pete

Pete’s secret project April 10th, 2009

My co-worker and buddy Pete has a project he’s working on in his free time.  He suckered me into asked me if I’d be interested in rigging it.  I just started out, and it’ll have some intersting challenges.  I’ll update as I progress.

2009-04-10_2308

Break from teaching March 25th, 2009

teaching professorMy stint over at CDIA has come to a pause. I’ll be glad for the break as teaching was really sucking up my free time. I’ll have more time for some side projects I want to explore. I have a feeling come summer or fall I’ll jump back into teaching, if an opportunity presents itself.  I really do enjoy it.  I gave a guest lecture at Emerson a while ago, here is the google presentation…

Theme design by: The Mighty Mo! Design Co.