////////////////////////// // // Maya script file // ////////////////////////// // // Author : Lluís Llobera // (lluisllobera@hotmail.com) // // Creation date : 23/X/2003 // Update 1.1 : 4/XII/2003 // // Main procedure : type "llChangeColor" in the Command Line or Script Editor // ////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// // // With this script, the user can quickly change the color override of any transform, shape or joint node // // UPDATE 1.1 : fixed the script to work on specified shape nodes // // // Enjoy!! // //////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// // llCCParseChange // ////////////////////////////////// // // When the palettePort is changed, this proc // goes on to see what is selected and, if it is // a suitable node, proceed to change it's color overrides. // // <-- llChangeColor // ///////////////////////////////// global proc llCCParseChange () { // variables declaration int $COLORINDEX = eval ("palettePort -q -scc llCCPalette") ; string $SELECTION[] = `ls -sl` ; string $SELECTEDTYPE ; int $OVERRIDE ; // proc start for ($ELEMENT in $SELECTION) { $SELECTEDTYPE = `nodeType $ELEMENT` ; switch ($SELECTEDTYPE) { case "transform" : case "joint" : case "nurbsCurve" : case "nurbsSurface" : case "subdiv" : case "mesh" : case "locator" : case "camera" : case "light" : setAttr ($ELEMENT + ".overrideEnabled") 1 ; setAttr ($ELEMENT + ".overrideColor") $COLORINDEX ; break ; }; // switch ($SELECTEDTYPE) } ; // for palettePort -e -redraw llCCPalette ; } ; // global proc llCCParseChange ////////////////////////////////// // llChangeColor // ////////////////////////////////// // // MAIN PROC // // Creates the main window // // --> llCCParseChange // ///////////////////////////////// global proc llChangeColor () { if (`window -ex llChangeColorWindow`) deleteUI llChangeColorWindow ; window -wh 400 80 -s 0 -title "llChangeColor v1.1" llChangeColorWindow ; frameLayout -labelVisible 0 -borderStyle "in" -cl 0 -cll 0 ; palettePort -dim 16 2 -w 512 -h 50 -transparent 0 -topDown 1 -colorEditable false -cc llCCParseChange llCCPalette ; for ($I = 1 ; $I <= 31 ; $I++) { float $COLORARRAY[] = `colorIndex -q $I` ; palettePort -e -rgbValue $I $COLORARRAY[0] $COLORARRAY[1] $COLORARRAY[2] llCCPalette ; } ; palettePort -e -redraw llCCPalette ; window -e -wh 400 80 llChangeColorWindow ; showWindow llChangeColorWindow ; } ; // global proc llChangeColor ///////////////////////////////////////////////////////////// // // EoS llChangeColor // /////////////////////////////////////////////////////////////