New Page

As you can see I added a new page to show all of the pre-rendered cinematics from the last game I help ship. If you haven’t played the game and plan too you might not want to see the cinematics as it gives a lot of the story away.

Enjoy!

Resistance Retribution – Behind the scenes pt2

Here’s the behind the scenes clip I promise. Sorry it took a while but I’ve been busy the last few months.

Raw capture video

Final cinematic clip

Batch Scripts

Lately I’ve been exporting a lot of Maya files into MotionBuilder so here’s a little script I wrote that helps with exporting a bunch of Maya files as FBX. It saves all of the FBX files to a folder called TEMPTEMP that you need to create on your C drive.

global proc PrintFiles( string $rootInput, string $relativeInput, string $outputDir )
{
// Make sure the path name ends with a “/”; otherwise getFileList won’t work.
string $fullpath = $rootInput + $relativeInput + “/”;

print( “\n\n” + $fullpath + “\n\n” );

// Get the list of files in the current (sub)directory.
string $fileList[] = `getFileList -folder $fullpath -filespec “*.*”`;

print($fileList);

for ($eachFile in $fileList)
{
// Create the full path for the current file or folder.
string $filename = $fullpath + $eachFile;

// Test to see if this is a folder (a subdirectory).
int $isDirectory = `filetest -d $filename`;

if ($isDirectory == 1)
{
print($filename + “\n”);

// Go into the subdirectory.
PrintFiles($rootInput,$relativeInput+ “/” + $eachFile,$outputDir);
}
}

string $fileList[] = `getFileList -folder $fullpath -filespec “*.ma”`;

for ($eachFile in $fileList)
{
// Create the full path for the current file or folder.
string $filename = $fullpath + $eachFile;
print $filename;
// Do something with the file, like print its name.
sysFile -makeDir ($outputDir + $relativeInput);
string $mbName = basename( $eachFile, “.ma” );
file -force -pmt false -o $filename;
$outputFile = $outputDir + $relativeInput + “/” + $mbName +”.fbx”;
print($outputFile);
select -hi hero_def:root_bind;
print($outputFile);
FBXExportBakeComplexAnimation -v true;
FBXExportAnimationOnly -v true;
FBXExport -f ($outputFile);
print($filename + “\n”);
}
}
string $imageDir = (dirname (`fileDialog`));
PrintFiles( $imageDir, “”, “c:/TEMPTEMP/” );

Also in MotionBuilder 2009 there’s a bug when you try importing more then 1 files at a time into a scene the animation breaks.  So Here’s another script to import files from a directory 1 at a time and run a gimble filter on the root bone. I hope someone finds this helpful.

import os
import re
from pyfbsdk import *
from os.path import join, getsize

#popup is the selected root folder
popup = FBFolderPopup()
lApp = FBApplication ()
#create the filter
lFilterMan = FBFilterManager()
lFilter = lFilterMan.CreateFilter(“Gimble Killer”)

#run the Gimble Killer filter on all children of “root_bind”
def KillGimbleRecurse( model ):
if model.Rotation != None:
lFilter.Apply( model.Rotation.GetAnimationNode(), True )
#    for child in model.Children:
#        KillGimbleRecurse( child )

#sys = importe the file to the newly created take
sys = FBSystem()

#import all the files from the selected folder and all it’s sub folders
if popup.Execute():
for root, dirs, files in os.walk( popup.Path ):
for thisFile in files:
print thisFile
lApp.FileImport( join(root, thisFile), True )
sys.CurrentTake.Name = thisFile[0:-4]
root_model = FBFindModelByName( “root_bind” )
KillGimbleRecurse( root_model )

Resistance Retribution – Opening Cinematic

Here’s the opening cinematic for Resistance Retribution. I  co-directed all the pre-rendered cinematics, it took us about a week to capture all the data needed for the movies. I also suited up for a few shoots, I played one of the guys around the fire in this cinematic. I’ll post some raw video files of the capture when I find them.

Resistance Retribution – Behind the scenes

Here’s a behind the scenes movie for Resistance Retribution I was in.

Resistance Retribution Story Trailer

Here’s the latest trailer of game I’m currently finishing up.

Carlton Dance

I saw an episode of the show The Fresh Prince of Bel-Air a few months back and it had Carlton doing his dance. So I thought it would be fun animating the “Carlton Dance.”

Dance 1

Dance 2

Rig by James Hunt

Back to Maya

It’s been a  year or 2  since I last animated in Maya. So I decided to get back into the swing of things by animating a walk cycle. Also at work we are making our way to Maya so I figure I try to get a head start.

Rig by James Hunt