extragrey
07-10-2009, 04:00 PM
it's definitely possible to simplify this script, any suggestions ?
Thanks in advance for any help.
//----------------------------------------------- circle grid
for ($x=0 ; $x<20 ; $x++)
{
for ($y=0 ; $y<20 ; $y++)
{
circle -r 5;
move (10*$x) (10*$y) 0;
}
}
select -ado;
group -name circleGrid1;
//----------------------------------------------- inputs
string $attractor[]=`spaceLocator`;
move -r 50 120 0;
select -r circleGrid1;
string $objects[]=`ls -sl`;
select -deselect;
for ( $i=1 ; $i<401 ; $i++)
{
//----------------------------------------------- circle XYZ center coodinates
float $transObjX=`getAttr ("nurbsCircle"+$i+".translateX")`;
float $transObjY=`getAttr ("nurbsCircle"+$i+".translateY")`;
float $transObjZ=`getAttr ("nurbsCircle"+$i+".translateZ")`;
float $transObjXYZ[]={$transObjX,$transObjY,$transObjZ};
//----------------------------------------------- spaceLocator coordinates
float $transLocX=`getAttr ("locator1.translateX")`;
float $transLocY=`getAttr ("locator1.translateY")`;
float $transLocZ=`getAttr ("locator1.translateZ")`;
float $transLocXYZ[]={$transLocX,$transLocY,$transLocZ};
//----------------------------------------------- distance between circle and locator
float $distanceX=$transObjX-$transLocX;
float $distanceY=$transObjY-$transLocY;
float $distanceZ=$transObjZ-$transLocZ;
float $distance =sqrt(($distanceX*$distanceX)+($distanceY*$distanceY)+
($distanceZ+$distanceZ));
//----------------------------------------------- distance threshold
float $threshold=110;
float $amount=1-(($threshold-$distance)/$threshold);
//----------------------------------------------- scaling
select ("nurbsCircle"+$i);
scale -relative $amount $amount $amount ;
}
Thanks in advance for any help.
//----------------------------------------------- circle grid
for ($x=0 ; $x<20 ; $x++)
{
for ($y=0 ; $y<20 ; $y++)
{
circle -r 5;
move (10*$x) (10*$y) 0;
}
}
select -ado;
group -name circleGrid1;
//----------------------------------------------- inputs
string $attractor[]=`spaceLocator`;
move -r 50 120 0;
select -r circleGrid1;
string $objects[]=`ls -sl`;
select -deselect;
for ( $i=1 ; $i<401 ; $i++)
{
//----------------------------------------------- circle XYZ center coodinates
float $transObjX=`getAttr ("nurbsCircle"+$i+".translateX")`;
float $transObjY=`getAttr ("nurbsCircle"+$i+".translateY")`;
float $transObjZ=`getAttr ("nurbsCircle"+$i+".translateZ")`;
float $transObjXYZ[]={$transObjX,$transObjY,$transObjZ};
//----------------------------------------------- spaceLocator coordinates
float $transLocX=`getAttr ("locator1.translateX")`;
float $transLocY=`getAttr ("locator1.translateY")`;
float $transLocZ=`getAttr ("locator1.translateZ")`;
float $transLocXYZ[]={$transLocX,$transLocY,$transLocZ};
//----------------------------------------------- distance between circle and locator
float $distanceX=$transObjX-$transLocX;
float $distanceY=$transObjY-$transLocY;
float $distanceZ=$transObjZ-$transLocZ;
float $distance =sqrt(($distanceX*$distanceX)+($distanceY*$distanceY)+
($distanceZ+$distanceZ));
//----------------------------------------------- distance threshold
float $threshold=110;
float $amount=1-(($threshold-$distance)/$threshold);
//----------------------------------------------- scaling
select ("nurbsCircle"+$i);
scale -relative $amount $amount $amount ;
}
