Jan 11, 2015

"BUTTS: The VR Experience"



With the expert guidance of Skillman & Hackett I transformed "BUTTS" into a VR experience. I gave a brief talk on it at the VR Cinema Meetup #2 today, and launched an official download website for it.

The website for "BUTTS: The VR Experience" is here: http://buttsvr.com

The brief talk is here: https://air.mozilla.org/vr-cinema-event/


Jul 3, 2014

Tweeny

Tweeny is a Maya in-between and overshoot pose creation tool similar to the Tween Machine by Justin Barrett.

May 19, 2014

"BUTTS"



I worked on this on and off in my spare time over the past 18 months. I handled everything visual, and I had help with sound. It's my most profound and stupid work to date.

Here are some quotes that I have collected from around the internet.

  • "literally this is the greatest thing man has created. *also please note that the trees, rocks, clouds and mountains are also all butts" -.hardp!nq
  • "Drama Friendship Closure Butts" - perplexingpariah
  • "WHY HAVE I NEVER RELATED SO STRONGLY TO A VIDEO IN MY ENTIRE LIFE" -armin-arlert-defense-squad
  • "A love story." -thelamarshack
  • "This made me uncomfortable." -kingofredlines
  • "Is the internet even real?" -ers--hoghet
  • "First look at Pixar's follow up to the 'Cars' franchise" -AJ Jefferies
  • "You, sir, are the greatest artist who ever lived." -Kevin Temmer
  • "나혼자 기묘한 기분을 느낄수 없음 조금 뒤조심해야하나 암튼" -히스벌이하는 광분요정

Aug 2, 2013

The Framework of Riggs

The following blog post is an explanation of how I structured the automated rigging system I wrote in python and PyMEL for Double Fine Productions called Riggs (after the main character Eddie Riggs from Brutal Legend), intended for individuals interested in rigging or character pipelines. Here's a demo of it:



Jun 11, 2013

Playstation 4 - Greatness Awaits


I worked on this Sony Playstation 4 commercial at The Mill. Rigged Killzone vehicles, Spiders, Diablo, Knack, Mechs, skeletons, and some other misc things. Animated Diablo, spiders, mechs, and a hoard of 150 skeletons climbing the base of the ferris wheel.

May 3, 2013

Remove Namespaces Script

When you import in Maya it's hard to avoid namespaces. They pile up and 9 times out of 10 you don't want them.

Here's a simple script that will remove namespaces for you. Select any item in the namespace that you want to remove. If there are multiple nested namespaces, it will remove them one at a time.

Unlock Nodes Script

You can't delete something because it was duplicated from a referenced object and now it's locked. How do you unlock it? Maya doesn't have a any way to do this without using a script.

Here's a simple script to unlock these pesky bastards.

Mar 11, 2013

Liquid Floor

Dec 29, 2012

Shader Fun

I've written some helper scripts for dealing with shader and render layer assignments called shader_fun, which includes the following commands:

shader_fun.export_shaders() - Store the mesh assignment info for all shaders in the scene and then export them to a separate maya file.
shader_fun.import_shaders() - Import shaders with mesh assignment info and reassign to meshes with the same name. Supports namespaces.

x = shader_fun.get_render_layer_ass() - Get the render layer shader assignments for selected meshes and store it in "x".
shader_fun.set_render_layer_ass(x) - Set the render layer shader assignments stored in "x".

shader_fun.save_mat_ass() - Save all shader assignments in the maya scene to an "ass" file.
shader_fun.load_mat_ass() - Load and apply all the shader assignments from an "ass" file.

Get started:
1. Download with right-click save as and save the file in you maya prefs folder in the scripts folder. For example c:/users/[yourusername]/documents/maya/scripts/
2. Import with the following python command import shader_fun
3. Run those other commands.

Nov 12, 2012

Hair From Curve Script

Maya's hair system is a really powerful rigging tool, but the implementation makes it difficult to cleanly integrate into your rigs through script. It creates a bunch of extra nodes you don't need, names the resulting dynamic hair "curve1", and there is no way of specifying when you want to add a new follicle to an existing hairSystem node.

So I wrote a bare bones script in pymel that will create all the necessary nodes and connect them for you without creating all that extra junk.  If you pass in an existing hairSystem node name, it'll be added to that, otherwise a new hairSystem node will be created with the given name, or if you don't include a name it'll just make one up.

Jul 30, 2012

Fresh Skin

Turns out other folks have been using a script I shared with someone on tech-artists.org to help them with a particular rigging problem they had and I got an email about it because the tech-artists site is down so I figure I'll just put it up here.

The script is called Fresh Skin and it is pretty simple but very effective. It just duplicates the bound geometry, copies the skinning info over, deletes the original, and cleans up.  This fixes an insanely large number of issues but I wrote it a long time ago just to get rid of any unwanted history on a bound mesh.

1.Download below with right-click save as and save the file in you maya prefs folder in the scripts folder. For example c:/users/[yourusername]/documents/maya/scripts/
2. Restart Maya.
3. Select the bound mesh(es) you want to act on.
4. Run this command:  freshSkin;

Jul 25, 2012

Tools Reel 2012



A fast paced demo of my rigging and animation tools from the last 9 years.

The biggest of which is "Riggs", a modular automated rigging system written in Python/PyMel. At Double Fine the characters go through many stages of change so one of the focuses of this system was to facilitate that change and make it as fluid and simple as possible to make changes to full rigs.

It also had to be simple enough for animators with little rigging experience to use because the studio was too small for dedicated character riggers.