Hope you enjoy some of these scripting hints i wrote.
using wild card selection ex: to possibly remove skinned joints for face rigging
//select skinned joints, helpful to remove, does not support actually checking skin clusters
//assumes skin is in name of bound joints
global proc na_selectSkin(string $faceArea){
//ex: select all eye skin joints select "*eye*skin*";
select "*"+$faceArea+"*skin*";
select -r `ls -sl -type joint`; //need this so dealing with joints only
}
print("run this --\n"+"na_selectSkin(\"eye\")");
having animation graph editor be opened automatically, example seeing set driven key curve for face blendshapes for modification//author: Nathaniel Anozie (ogbonnawork at gmail dot com)
//
//
//modify at own risk
// updated 08-13-2014 nate ----- initial commit
global proc na_showBSCurve( string $object[] ){
//show blendshape curve given object hooked up to it
//object -- animator control
if(size($object) >= 1){
string $result[] = {};
//assumes straight forward to get input from animator control
for($arg in $object){
string $curves[] = {};
$curves = `listConnections -plugs true -destination true -source false $arg`;
$result = stringArrayCatenate($result,$curves);
}
//show graph of set driven key for editing
select -r $result;
GraphEditor;
FrameSelected;
fitPanel -selected;
}
else{print("Please select object hooked up to blendshape");}
}
//usage
//show blendshape node sdk curve for editing given a selected object hooked up to it
eval( "source \"na_showBSCurve.mel\";" );
string $sel[] = {};
$sel = `ls -sl`;
na_showBSCurve($sel);
ability to quickly select all input of an object ex: easy export of selection including materials etc(before and after script)
#select all history and materials of selected, helpful for exporting in Maya
#author: Nathaniel Anozie (ogbonnawork at gmail dot com)
#
#
#Inspired by Alex Martelli, learning about expand list of lists in python from his online tutorials
#Inspired by Irakli Khakhviashvili, learning about selecting shaders from his online tutorials
#Inspired by Patrick Westerhoff, learning about list uniqueness in python from his online tutorials
#modify at own risk
# updated 08-13-2014 nate ----- initial commit
import maya.cmds as cmds
def na_niceSelect():
"""
select all history and materials of selected, helpful for exporting in Maya
"""
result = []
sel = cmds.ls(selection = True)
print "start --- calculating"
tmpResult = []
for _arg in sel:
tmpResult.append( _arg )#important to have everything in lists
#ex 'openJaw1:new_topology53'
#compute past
past = []
past = cmds.listHistory(_arg)
for _past in past:
tmpResult.append(_past)
#if its a mesh also adds its materials
shader = []
shader = cmds.listConnections( _past, type = "shadingEngine")
if shader is not None:
tmpResult.append( shader )
print "done --- calculating"
#
#concluding
#result = [item for sublist in tmpResult for item in sublist]
#result = list(set(result)) #remove possible duplicates
#cmds.select(result, replace = True, ne = True) #selecting results
#selecting
cmds.select(clear = True)
for _result in tmpResult:
cmds.select(_result, add = True, ne = True) #ne is so can select shaders
result = cmds.ls(selection = True)
return result
Hope this was helpful.
cheers,
Nate

