global proc windowUsefulDemo()
{
string $win = `window -t "Make Colourful Cubes" -wh 600 100`;
rowColumnLayout -nc 1 -cw 1 600;
string $amountSlider = `intSliderGrp -l "How Many?" -f 1 -cw 1 80`;
string $colourSlider = `colorSliderGrp -l "What Colour?" -rgb 0.572002 0.838 0.069554 -cw 1 80`;
button -l "Create" -c ("createCubes "+$amountSlider+" "+$colourSlider); // send the slider names
button -l "Close" -c ("deleteUI -wnd "+$win);
showWindow $win;
}
proc createCubes(string $amountSlider, string $colourSlider) // makeCubes expects the slider names (as strings)
{
int $num = `intSliderGrp -q -v $amountSlider`; // query the value from the intSliderGrp
float $col[] = `colorSliderGrp -q -rgb $colourSlider`; // query the colour from the colorSliderGrp
string $allCubes[];
for ($c=0;$c<$num;$c++) // queried int value used here
{
string $cubeName[] = `polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1`;
$allCubes[$c] = $cubeName[0];
}
string $mat = `shadingNode -asShader blinn`;
string $sg = `sets -renderable true -noSurfaceShader true -empty -name ($mat+"SG")`;
connectAttr -f ($mat+".outColor") ($sg+".surfaceShader");
setAttr ($mat+".color") -type double3 $col[0] $col[1] $col[2]; // queried colour used here
select -r $allCubes;
string $groupName = `group`;
select -r $groupName;
sets -e -forceElement $sg;
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter