Intro: This is a personal learning project my good friend David Bokser and I have endevoured upon to have a solid rigging tool to use in our professional and personal work . A large part of my desire to do it is to really focus on rigging for a while as that looks to be the professional option for me that will afford the most remote freelance opportunities as Houston will be my home for the forseeable future and I only wanna do so many onsite gigs during the year. Bokser is a python whiz kid so it's great to be learning so much from him.

In a nutshell: At the end of the project, we'll have a tool to rig pretty much anything. Provides for different types of rig types or the arm/spine/etc

Status: In production between gigs and on them as tools become necessary for work. Started in January 2011.

Core Tools and some examples from them that I've written...

  • RiggingComponents (example
    • finRigger
  • DistanceTools - tools for all kinds of functions in terms of dimensions
    • getClosestObject (targetObject, objectArray)
    • getClosestUV (targetObject,surface)
    • getAverageDistanceBetweenObjects (objArray)
  • AttributeTools - tools for dealing with attributes
    • storeObjToMessage (obj, storageObj, messageName)
    • findMessageAttrs(obj)
  • NodeTools
  • JointTools
    • createJointChainsFromLoftSurface (name,surface,directionMode,reverse)
    • attachJointChainToSurface (jointChain,surface,jointOrient,jointUp)
    • makeJointControlSurface(startJoint,controlJointList,outChannel,name):
  • NamingTools
    • renameJointChainList (jointList, startJointName, interiorJointRootName)
    • renameObjectListFromList (objArray,nameArray)
  • RiggingTools
    • locMeObj(obj) - makes a locator matching it's target objects, position, rotation, and matching rotation order as well.
    • locMeCVsOnCurve (curve)
    • grpMeObj(obj,parent):
      """pass an object into it and get group placed at the pivots - matching translation, rotation and rotation order and grouping it under the grp if True and to the world if False """
  • SkinTools
    • controlSurfaceSmoothWeights (surface)
    • querySkinCluster (obj) - yay for python not having mel equivalencies....
  • SearchTools
    • returnListNoDuplicates (searchList)
    • returnCVCoordsToList(surfaceCV)



Folks who have contributed to Morpheus' development with feedback, bugs, or custom Geo (Still working on links)

All the stuff on this site is © 2000 - by Josh Burton...unless otherwise noted. All rights reserved.