Friday, November 07, 2014

Maya Symmetry Constraint

You may have noticed that joints in Maya can now include a symmetry constraint. I have been leaning heavily on this new feature in my latest rigging tool. I think the constraint is so cool that I want to use it for other types of transforms. Well guess what. It works! Here is a short example that shows the symmetry constraint applied to a couple of polyCubes.

 import maya.cmds as cmds  
 cmds.createNode('symmetryConstraint', n='symmetryConstraint2')  
 cmds.polyCube(n='pCube1')  
 cmds.polyCube(n='pCube2')  
 cmds.connectAttr('pCube1.translate', 'symmetryConstraint2.targetTranslate')  
 cmds.connectAttr('pCube1.rotate', 'symmetryConstraint2.targetRotate')  
 cmds.connectAttr('pCube1.scale', 'symmetryConstraint2.targetScale')  
 cmds.connectAttr('pCube1.parentMatrix[0]', 'symmetryConstraint2.targetParentMatrix')  
 cmds.connectAttr('pCube1.worldMatrix[0]', 'symmetryConstraint2.targetWorldMatrix')  
 cmds.connectAttr('pCube1.rotateOrder', 'symmetryConstraint2.targetRotateOrder')  
 cmds.connectAttr('symmetryConstraint2.constraintTranslate', 'pCube2.translate')  
 cmds.connectAttr('symmetryConstraint2.constraintRotate', 'pCube2.rotate')  
 cmds.connectAttr('symmetryConstraint2.constraintScale', 'pCube2.scale')  
 cmds.connectAttr('symmetryConstraint2.constraintRotateOrder', 'pCube2.rotateOrder')  
 cmds.connectAttr('pCube2.parentInverseMatrix[0]', 'symmetryConstraint2.constraintInverseParentWorldMatrix')  
 cmds.parent('symmetryConstraint2', 'pCube2')  
 cmds.select('pCube1')  

Of loss and new beginnings.

So a few months ago I canceled my hosting account at GoDaddy and neglected to pull down a recent backup of the sites data. I am sure I have a somewhat recent copy somewhere that I will probably pull over as time allows. Much like the mandala, I may just let it go so I can have a fresh start.