Viewing entries in
Free Scripts

Comment

asNode (Part 01) -- One node for most of the Rigging Work in Maya

Download:
---------------
Available for free download here :
http://www.creativecrash.com/maya/script/asnode-one-node-for-most-of-the-general-process-in-maya-rigging
Purpose:
------------
This node is the key module in maya rigging process. One node for the most of the rigging process.
asNode is still going to include many general methods required for rigging / animation process. 
It played key role in hyper skinning system as shown in below video:
asNode was developed with the inspiration from PyNode in PyMel, But with extended support to Rigging process.
And this doesn't depend on PyNode in PyMel. Its purely depends only on Maya api and maya.cmds.
Features:
---------
1. One node for most of the general process in Maya Rigging
2. asNode was developed with the inspiration from PyNode in PyMel
3. It has extensive support to Rigging and  General Pipeline.
4. Doesn't depend on any external modules like PyMel
5. Purely depends on maya.cmds and maya python api
6. Increase programming speed in rigging & pipeline upto 3-4 times
7. A Node with true Object Oriented Programming (OOP)
8. Auto completion list varies with change in node type 
9. Tight Integration With All Auto Rig tools like (as_EasyBird, as_EasyRig, as_EasyQuad etc.)
Updates:
----------
2014.09.08 -- Updated asNode.rar with help file on all methods by adding 'asNode.pypredef'. Open it with wordpad
2014.09.21 -- Test files are added in asNode.rar for asN.addChild, asN.mConstrain etc
2015.02.05 -- Auto completion methods will update and change according the selection type of object
2015.02.06 -- Fixed the method : asN.jntOrient and added new methods : asN.get_2PosExtn, asN.get_2PosVect.
                   And added new example maya files
Future Updates:
---------------------
1. More rigging and pipeline related methods will be added to asNode
Usage:
--------
Apply asNode on any maya node and then start using following methods:
[ '_selected', 'addAttr', 'addAttrDivider', 'addChild', 'addPrefix', 'addSuffix', 'applyCtrlColor', 'asObj', 'attr', 'capitalize', 'center', 
'centerPivot', 'child', 'connectAttr', 'connectionInfo', 'connections', 'constrainTo', 'contains', 'count', 'decode', 'delete', 'deleteAttr',
 'deleteHistory', 'deleteKey', 'deleteNode', 'deselect', 'disconnectAttr', 'distanceTo', 'dupeNVersionUp', 'duplicate', 'encode',
 'endswith', 'expandtabs', 'extendToParent', 'extendToShape', 'extractNum', 'find', 'format', 'freeze', 'fullName', 'getAttr', 
'getChildren', 'getDirPos', 'getDirVect', 'getFaceList', 'getInputs', 'getNearestVtx_OnMesh', 'getOutputs', 'getPos', 'getPosJnt',
 'getPosLoc', 'getPos_Old', 'getPos_Vtx', 'getRot', 'getShape', 'getSibIndex', 'getVtxList', 'grpIt', 'grpIt_Old', 'hasAttr', 
'hasAttrLocked', 'hasChild', 'hasParent', 'hasShape', 'hasUniqueName', 'hide', 'index', 'intersects', 'isChildOf', 'isCurv', 
'isJnt', 'isLastJnt', 'isLoc', 'isMesh', 'isNodeType', 'isParentOf', 'isShape', 'isSkinMesh', 'isTrans', 'isalnum', 'isalpha', 'isdecimal', 
'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isupper', 'jntAxis', 'jntDist', 'jntOrient', 'jntOrientTo', 'jntRadius', 'join',
 'listConstraints', 'listHistory', 'listLockedAttrs', 'listRelatives', 'ljust', 'lockAttrs', 'longName', 'longestObj', 'lower', 'lstrip', 
'mConstrain', 'mDistance_BB', 'mDistance_Vtx', 'moveAnimTo', 'moveAnimToGrp', 'moveValuesFromGrps', 'moveValuesToGrp', 
'name', 'nearestObj', 'nearestPointOn', 'nextSeriesNode', 'nextUniqueName', 'nextVar', 'nodeType', 'numChildren', 'obj', 
 'openAttrs', 'parent', 'parentTo', 'partition', 
'pickWalkDown', 'pickWalkLeft', 'pickWalkRight', 'pickWalkUp', 'prefixHI', 'rename', 'reorderDeformers', 'replace', 'reverseConnect',
 'rfind', 'rindex', 'rjust', 'root', 'rotateBy', 'rpartition', 'rsplit', 'rstrip', 'scaleBy', 'searchReplaceAll', 'select', 'selectHI', 
'selectSeries', 'selectSiblings', 'setAttr', 'setName', 'setPos', 'setRot', 'setSibIndex', 'shape', 'shapeCtrl', 'shortName', 'show', 
'snapPivTo', 'snapPosTo', 'snapRotTo', 'snapShpTo', 'split', 'splitlines', 'startswith', 'strip', 'stripNum', 'swapcase', 'template',
 'title', 'transferAnimTo', 'transferAnimToGrp', 'translate', 'translateBy', 'unfreezeRotation', 'unfreezeTrans', 'unparent', 'untemplate']
Testing the asNode:
---------------------------
create two spheres named 'pSphere1' and 'pSphere2'
And then, Run these commands from python window
from asNode import *
p2 =asNode('pSphere2')
p2.select()
p2.snapPosTo([5,0,0])
asN =asNode('pSphere1')
#_ That's it, then start using:
asN.snapPivTo(p2)   #_ Now pSphere1's pivot is at 'pSphere2'
or 
Create any maya poly object or locator then try this command
from asNode import *
node =asN._selected()[0]   #_ asN is short form for selecting selected objects..
node.rename('Ball')            #_ Rename to 'Ball'
node.addSuffix('_Sph')       #_ Now it adds '_Sph' suffix to the ball, But still node is updated with all these changes

Download:---------------Available for free download here :http://www.creativecrash.com/maya/script/asnode-one-node-for-most-of-the-general-process-in-maya-rigging
Purpose:------------This node is the key module in maya rigging process. One node for the most of the rigging process.asNode is still going to include many general methods required for rigging / animation process. It played key role in hyper skinning system as shown in below video:asNode was developed with the inspiration from PyNode in PyMel, But with extended support to Rigging process.And this doesn't depend on PyNode in PyMel. Its purely depends only on Maya api and maya.cmds.
Features:---------1. One node for most of the general process in Maya Rigging2. asNode was developed with the inspiration from PyNode in PyMel3. It has extensive support to Rigging and  General Pipeline.4. Doesn't depend on any external modules like PyMel5. Purely depends on maya.cmds and maya python api6. Increase programming speed in rigging & pipeline upto 3-4 times7. A Node with true Object Oriented Programming (OOP)8. Auto completion list varies with change in node type 9. Tight Integration With All Auto Rig tools like (as_EasyBird, as_EasyRig, as_EasyQuad etc.)
Updates:----------2014.09.08 -- Updated asNode.rar with help file on all methods by adding 'asNode.pypredef'. Open it with wordpad2014.09.21 -- Test files are added in asNode.rar for asN.addChild, asN.mConstrain etc2015.02.05 -- Auto completion methods will update and change according the selection type of object2015.02.06 -- Fixed the method : asN.jntOrient and added new methods : asN.get_2PosExtn, asN.get_2PosVect.                   And added new example maya files
Future Updates:---------------------1. More rigging and pipeline related methods will be added to asNode
Usage:--------Apply asNode on any maya node and then start using following methods:
[ '_selected', 'addAttr', 'addAttrDivider', 'addChild', 'addPrefix', 'addSuffix', 'applyCtrlColor', 'asObj', 'attr', 'capitalize', 'center', 'centerPivot', 'child', 'connectAttr', 'connectionInfo', 'connections', 'constrainTo', 'contains', 'count', 'decode', 'delete', 'deleteAttr', 'deleteHistory', 'deleteKey', 'deleteNode', 'deselect', 'disconnectAttr', 'distanceTo', 'dupeNVersionUp', 'duplicate', 'encode', 'endswith', 'expandtabs', 'extendToParent', 'extendToShape', 'extractNum', 'find', 'format', 'freeze', 'fullName', 'getAttr', 'getChildren', 'getDirPos', 'getDirVect', 'getFaceList', 'getInputs', 'getNearestVtx_OnMesh', 'getOutputs', 'getPos', 'getPosJnt', 'getPosLoc', 'getPos_Old', 'getPos_Vtx', 'getRot', 'getShape', 'getSibIndex', 'getVtxList', 'grpIt', 'grpIt_Old', 'hasAttr', 'hasAttrLocked', 'hasChild', 'hasParent', 'hasShape', 'hasUniqueName', 'hide', 'index', 'intersects', 'isChildOf', 'isCurv', 'isJnt', 'isLastJnt', 'isLoc', 'isMesh', 'isNodeType', 'isParentOf', 'isShape', 'isSkinMesh', 'isTrans', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isupper', 'jntAxis', 'jntDist', 'jntOrient', 'jntOrientTo', 'jntRadius', 'join', 'listConstraints', 'listHistory', 'listLockedAttrs', 'listRelatives', 'ljust', 'lockAttrs', 'longName', 'longestObj', 'lower', 'lstrip', 'mConstrain', 'mDistance_BB', 'mDistance_Vtx', 'moveAnimTo', 'moveAnimToGrp', 'moveValuesFromGrps', 'moveValuesToGrp', 'name', 'nearestObj', 'nearestPointOn', 'nextSeriesNode', 'nextUniqueName', 'nextVar', 'nodeType', 'numChildren', 'obj',  'openAttrs', 'parent', 'parentTo', 'partition', 'pickWalkDown', 'pickWalkLeft', 'pickWalkRight', 'pickWalkUp', 'prefixHI', 'rename', 'reorderDeformers', 'replace', 'reverseConnect', 'rfind', 'rindex', 'rjust', 'root', 'rotateBy', 'rpartition', 'rsplit', 'rstrip', 'scaleBy', 'searchReplaceAll', 'select', 'selectHI', 'selectSeries', 'selectSiblings', 'setAttr', 'setName', 'setPos', 'setRot', 'setSibIndex', 'shape', 'shapeCtrl', 'shortName', 'show', 'snapPivTo', 'snapPosTo', 'snapRotTo', 'snapShpTo', 'split', 'splitlines', 'startswith', 'strip', 'stripNum', 'swapcase', 'template', 'title', 'transferAnimTo', 'transferAnimToGrp', 'translate', 'translateBy', 'unfreezeRotation', 'unfreezeTrans', 'unparent', 'untemplate']
Testing the asNode:---------------------------create two spheres named 'pSphere1' and 'pSphere2'And then, Run these commands from python window
from asNode import *p2 =asNode('pSphere2')p2.select()p2.snapPosTo([5,0,0])asN =asNode('pSphere1')
#_ That's it, then start using:asN.snapPivTo(p2)   #_ Now pSphere1's pivot is at 'pSphere2'
or 
Create any maya poly object or locator then try this commandfrom asNode import *node =asN._selected()[0]   #_ asN is short form for selecting selected objects..node.rename('Ball')            #_ Rename to 'Ball'node.addSuffix('_Sph')       #_ Now it adds '_Sph' suffix to the ball, But still node is updated with all these changes

Comment

Comment

Python Scripting : KM Cloth GUI (Free Script)

A GUI by JP Felipe for Maya cloth artists that allow them to streamline their workflow by placing all commonly used commands in a simplified GUI - no more menu searching! Includes a few scripts that create wind and gravity controllers and plugs them into the associated nucleus attributes - no more animating individual X, Y, Z point vectors! Includes a dynamic amplitude attribute that can scale and or multiply these settings(can also be scaled negatively).

More info and Script for download can be found on his blog posting

Comment

Comment

Free Python Script : cr_SkinAssist by Chris Russell

This is a showcase and tutorial of Chris Russell cr_skinAssist tool in action. This tool was written in Python for Maya. It serves as a series of mini-tools for weighting and as an alternative to the Component Editor. It also assist with isolating influenced regions to help focus weighting on chosen regions.

Tool can be found for free on creative crash

Created by: Chris Russell, Technical Artist

Music: "VengeanceUberRemix" by: djhoohaa
http://www.newgrounds.com/audio/listen/496921

Comment

Comment

Python Scripting : Offset Animator (Free Script)

Script with custom GUI for pattern/architectural animating is done by  Boris Ignjatovic. Implemented some features for easing and controlling the animation speed. Also there are two options for placing the animation. First one is based on set driven keys in which case script creates the control with a custom attribute that controls the animation, and second one is placing the animation directly on timeline.

You can download Offset Animator from his website:
www.borisignjatovic.com

Comment