ULTCorner URTCorner  
ULSCorner Christopher Adams Technical Animator Logo
Christopher Adams Technical Animator Logo URSCorner
Christopher Adams Technical Animator Logo Christopher Adams Technical Animator Logo

Scripted Production Tools

 
Jump To:
 
 

 
bltAnimExportModular Rigging System

MEL Script Auto Rig

what:
Auto Rig is a modular rigging system in which body parts are rigged individually, then glued together to form complex, animation ready actors. Adding additional body components to the core set allows Auto Rig to grow and shrink with your game requirements.

why:
One never knows if the next character they have to rig will be a standard biped or some sort of crazy combination of limbs, tails, and wings. This rigging system is designed to automate the setup any character you throw at it.

AutoRig01 Demonstration Overview  (QT, 640x480, 732kb)
AutoRig01 Part 1: Joint Creation   (QT, 640x480, 3.12mb)
AutoRig02 Part 2: Binding Tools  (QT, 640x480, 2.88mb)
AutoRig02 Part 3: Creating Controllers   (QT, 640x480, 8.24mb)
AutoRig02 Part 4: Actor Creation   (QT, 640x480, 15.7mb)
AutoRig02 Part 5: Biped Example   (QT, 640x480, 8.25mb)
top
 
Christopher Adams Proxy World MEL Tool
Level Editor for Non-Artists

MEL Script Proxy World

what:
Completely MEL driven Level Editor used for creating Ms. Pacman: Maze Madness 2 Levels for all target platforms.  Users are not required to have previous Maya skills to build gameplay.

why:
Studio needed a quick means of creating gameplay, without having to code a full 3d editor. I was brought in as the Maya expert to make this happen.


View Windows Media Version Proxy World Demonstration  320x240, 10.1mb
top
 
Christopher Adams Wire Editor MEL Tool
Create Custom Controls for Animation Rigs

MEL Script Wire Editor

what:
Creating visually appealing custom rigs doesn't have to be a burden thanks to this intuitive wire creation system. Create and customize curve shapes, then store them in handy collections for reuse on a later project.

why:
Having a reusable library of customizable shapes allows you to to worry more about rigging and less about shaping controllers, making your workflow faster.

View Quicktime Version Wire Editor Demonstration  640x480, 3.53mb
Wire Editor Demonstration  320x240, 2.87mb
View Windows Media Version Wire Editor Demonstration  640x480, 6.92mb
Wire Editor Demonstration  320x240, 3.79mb
top
 
csaQuicktimeBlastsclick to enlarge

MEL Script Quicktime Blast

what:
Adds the ability to playblast your animation directly into Apple Quicktime format from Maya. Users do not need to have purchased Quicktime Pro nor any other compositing package to reap the benefits of H.264 compression.

why:
Maya does not natively allow windows users an option to create movies in Quicktime format. Default .avi playblasts consume a ton of space on a company server, but H.264 compressed movies are quite small and look amazing!

Artists are free to create all the movies they want, simply and quickly, knowing that they have always chosen an optimal compression scheme while managers are able to review work without having to download mysterious codecs.
 
Christopher Adams GIF Maker MEL Tool
Create Animated GIFs in Maya

MEL Script GIF Maker

what:
Due to free online spongebob games the looking for play turbo subs ever growing requests from producers to create animated GIFs for their Power Point Presentations, GIF Maker was created to eleviate the hastle of format conversion. Now any artist can render a Power Point friendly animation natively out of Maya, without having to understand the external conversion process.

why:
This tool made artists feel as though making a GIF was really no big deal, as the workflow was just as easy as making a Playblast.


View Quicktime Version GIF Maker Demonstration  640x480, 3.29mb
GIF Maker Demonstration  320x240, 3.50mb
View Windows Media Version GIF Maker Demonstration  640x480, 6.92mb
GIF Maker Demonstration  320x240, 3.79mb
top
 
Christopher Adams Proxy Bones MEL Tool
Bipedal Skeleton Builder

MEL Script Proxy Bones

what:
An automated skeleton creation tool for bipedal characters.

why:
Having a tool for this task not only speeds up humanoid rig creation, but ensures that naming and joint alignment are consistent.

View Quicktime Version Proxy Bones Demonstration  620x480, 5.67mb
top
 
csaWeightsCleanDivideclick to enlarge

MEL Script Weights Clean Divide

what:
Given a smoothed skinned mesh with multiple influences per vertex, this script takes each shared influence percentage, and rounds them to the nearest five hundredths, ensuring that all percentages together total 1.0.

why:
By having your skinning data organized in such a fashion, it is possible to optimize engine code to take advantage of these grouping techniques, which end up using less itterations through skinning algorithms, resulting in a major speed increase.

top
 
bltSnapKeyOverTimeclick to enlarge

MEL Script Snap Key Over Time

what:
Loops over a given range of frames and snaps a source object to a target object's world position. This source object is then keyed on both the translate and rotation channels to retain that new position at the current frame.

why:
There are often times while animating when you run into a situation where you wish you could stick an object to a hand (swap weapon), plant a foot firmly in place (mocap), or even have one character attached to either a vehicle or another character.

Now you don't have to bug the rigging guy, because you can force any two objects to match one another with this handy script.
top
 
bltAnimExportclick to enlarge

MEL Script Anim Export

what:
Maya wrapper for BLT's core animation system. This script bakes motion off an animation rig, exports the animation data, writes numerous text files, then performs batch conversion through system calls to the various command line conversion utilities.

why:
With BLT core systems changing daily, a some more hidden object games need quickly develeped for a front end to drive many of the new, upcoming command line features. I was tasked to create a Maya animation exporter which all artists could use immediately to complete productions until a finalized interface was fully realized from the tools department.

top
 
Christopher Adams Toon Editor MEL Tool
Simplified Toon Renderer

MEL Script Toon Editor

what:
This tool is a simplified cartoon shader frontend for Maya's Mental Ray renderer.

why:
By creating a custom interface and only exposing a limited set of necessary attributes, artists could create toon rendered backplates without having extensive knowledge of Mental Ray or complex shading networks.

View Full Details Click here for more details!
top
 
Christopher Adams N-Gage Viewer MEL Tool
Custom Aspect Viewer/Renderer

MEL Script N-Gage Viewer

what:
This custom viewer interface was used by artists to previsualize content on the N-Gage device.

why:
Given such a low resolution, it was necessary to quickly judge how scale would affect the final look of an asset. The artist could also render the active view directly into the Toon Renderer detailed here.

View Full Details Click here for full details!
top
 
MelDirectoryListing


MEL Script Looking for more examples?

The following is a compiled list of scripts I've created over the past 2 positions I have held, and these aren't even all of them! Feel free to ask me about any of the following:

bltAnimBasemeshCreate.mel
bltAnimBasemeshExists.mel
bltAnimBasemeshExport.mel
bltAnimConvertPlat.mel
bltAnimEntity.mel
bltAnimEntity_AssignOutput.mel
bltAnimEntity_AssignPlaylist.mel
bltAnimEntity_AttrsAdd.mel
bltAnimEntity_Convert.mel
bltAnimEntity_TextFieldValidate.mel
bltAnimEntity_WriteCCF.mel
bltAnimEntityChannels.mel
bltAnimEntityChannels_Interpret.mel
bltAnimEntityChannels_Retrieve.mel
bltAnimExport.mel
bltAnimExport_CleanScene.mel
bltAnimExport_GetSDAPath.mel
bltAnimExport_PreBake.mel
bltAnimExport_ReconnectCurves.mel
bltAnimExport_Reload.mel
bltAnimExport_SetExportDisplay.mel
bltAnimExport_SetExportRange.mel
bltAnimExport_WriteSDA.mel
bltAnimExportOpts.mel
bltAnimExportOpts_Push.mel
bltAnimExportOpts_Retrieve.mel
bltAnimExportSpecific.mel
bltAnimExternalsReveal.mel
bltAnimExternalsStructureCreate.mel
bltAnimNode_List.mel
bltAnimNode_Select.mel
bltAnimPackage.mel
bltAnimPlaylistAdd.mel
bltAnimPlaylistUpdate.mel
bltAnimProcessAll.mel
bltAnimProcessSingle.mel
bltAnimStructureCreate.mel
bltBindposeSet.mel
bltCharPose.mel
bltClearOutputWin.mel
bltDebugMode.mel
bltFindDuplicateVerts.mel
bltLoadStandardPlugins.mel
bltMakeUniqueShadingGroups.mel
bltMenuExists.mel
bltNodeGetUniqueName.mel
bltPluginExists.mel
bltPluginLoadAndRetain.mel
bltPopupError.mel
bltProcessAll.mel
bltPromptText.mel
bltPromptYesNo.mel
bltQuicktimeBlast.mel
bltSceneSaveMods.mel
bltSelectFacesWithSimilarTexture.mel
bltSelectMaterialFaces.mel
bltShaderMaterialsFromObjects.mel
bltShadingGroupsFromObjects.mel
bltSkelArrangeBreadthFirst.mel
bltSnapKeyOverTime.mel
bltSpew.mel
bltStandardSettingsEnforce.mel
bltStandardSettingsSet.mel
bltTargaIsCompressed.mel
bltTexturesFromFaces.mel
bltTrailingSlashAdd.mel
bltTrailingSlashRemove.mel
bltTraxClip.mel
bltValidateBind.mel
bltValidateTextures.mel
bltWhiptoolMenu.mel
bltWindowCrusher.mel
bltWriteASS.mel
bltWriteBAT_AnimPlat.mel
bltWriteCCF.mel
bltWriteShader.mel
csaAutoRigRealignTorso.mel
csaCollapseEdge.mel
csaCleanUVs.MEL
csaCurveSpinAxis.mel
csaDisconnectDefaultShader.mel
csaFindDuplicateVerts.mel
csaFlexJoint.mel
csaFootroll.mel
csaFreezeTranslationAxis.mel
csaGE_GetHighlightedObjects.mel
csaGE_GetOutlineEditorConnection.mel
csaGE_Highlight.mel
csaGE_SelectSubChars.mel
csaGE_Widget.mel
csaGetClosestLocalAxis.mel
csaGetMeshUVColorAtPoint.mel
csaGetUniqueNamespace.mel
csaGraphEditorDisplay.mel
csaJointRotToOrient.mel
csaMotionCurve.mel
csaPrefsTransferPortable.mel
csaPromptText.mel
csaProxyAttach.mel
csaProxyLabel.mel
csaQuicktimeBlast.mel
csaSavePlus.mel
csaSetupInlineTwist.mel
csaSkeletonConnect.mel
csaSkinGetFromGeo.mel
csaSpinJointAxis.mel
csaSpinTranslateAxis.mel
csaStringFillTab.mel
csaToggleComponentEditorZeroColumns.mel
csaToggleScaleKeyMode.mel
csaToggleTangentMode.mel
csaToggleWireShade.mel
csaToggleXRay.mel
csaWeightsCleanDivide.mel
csaWeightsDebug.mel
csaWeightsRebuild.mel
lib_csaMatrix.mel
lib_tko3D.mel
lib_tkoAB.mel
lib_tkoAutoRig.mel
lib_tkoFile.mel
lib_tkoGambryo.mel
lib_tkoGridHierarchy.mel
lib_tkoImage.mel
lib_tkoLink.mel
lib_tkoMath.mel
lib_tkoNode.mel
lib_tkoPoly.mel
lib_tkoPreExport.mel
lib_tkoShader.mel
lib_tkoString.mel
lib_tkoSVN.mel
lib_tkoTextScrollList.mel
lib_tkoWire.mel
lib_tkoXML.mel
md2ExportOptions.mel
tkoAddScriptsMenu.mel
tkoArrayUtilities.mel
tkoAttributeWatch.mel
tkoAttributeWatchSpecific.mel
tkoAutorigConnect.mel
tkoAutoRigGUI.mel
tkoCharacterSetCopy.mel
tkoCharacterSetPaste.mel
tkoCharPose.mel
tkoConnectCharacterAnimCurves.mel
tkoDebug.mel
tkoDeleteZeroVertMeshes.mel
tkoEulerSelected.mel
tkoExpertMode.mel
tkoExportMD2Anim.mel
tkoExportPointData.mel
tkoExportPointData2D.mel
tkoExportSBM.mel
tkoExportTraxClip.mel
tkoFBlast.mel
tkoFileUtilities.mel
tkoFixDoubleOpposites.mel
tkoGambryoBakeAnim.mel
tkoGambryoExportAnim.mel
tkoGambryoSetVertexLightingMode.mel
tkoGambryoSwapShaders.mel
tkoGetCurrentFPS.mel
tkoGetSelectionType.mel
tkoGIFMaker.mel
tkoHUDTime.mel
tkoInstanceTools.mel
tkoInverseScaleChecker.mel
tkoKeySelectedChannels.mel
tkoNamespaceTools.mel
tkoNewUserSetup.mel
tkoNgageCam.mel
tkoNGageViewer.mel
tkoNitroBake.mel
tkoNitroExportAnim.mel
tkoOctantCreate.mel
tkoOutputEntities.mel
tkoPolyChromaKeyPink.mel
tkoPolyChunk.mel
tkoPolyOptimizeCombine.mel
tkoPolySelectVectorFace.mel
tkoPolySeparateExtract.mel
tkoPopupError.mel
tkoProjectSelector.mel
tkoPromptText.mel
tkoPromptYesNo.mel
tkoProxyBones.mel
tkoProxyWorld.mel
tkoProxyWorldDefinitions.mel
tkoProxyWorldExporter.mel
tkoRefreshTextures.mel
tkoRemoveBogusShaders.mel
tkoRenameHierarchyPrefix.mel
tkoRenderRegionRemove.mel
tkoScaleAnimationToFPS.mel
tkoSelectConstraintTarget.mel
tkoSkinAnalyzer.mel
tkoSkybladeAddAnimData.mel
tkoSnapKeyOverTime.mel
tkoToggleElementSelect.mel
tkoToggleGraphEdScaleManip.mel
tkoToonEditor.mel
tkoTraxClip.mel
tkoUpdateScripts.mel
tkoVerifyTriangulated.mel
tkoVertexAxisAlign.mel
tkoVertexSnap.mel
tkoViewSBM.mel
tkoWindowCrusher.mel
tkoWireEditor.mel
tkoXraySelected.mel
tkoZeroSelection.mel

top
Sitemap | All content Copyright © 2008 Christopher Adams.