Prepering and animating book with a hell lot of pages was quite a challenge. I've created few scripts to speed up work.
First one is offsetting animation by one frame for multiple objects. Very simple but very useful. Here is a video how to use:
string $selekcja[] = `ls -sl`; string $oldSelekcja[] = $selekcja; int $ssize = size($selekcja); for($i=0;$i<$ssize;$i++) { timeSliderEditKeys addInbetween; select -d $selekcja[0]; $selekcja = `ls -sl`; } select $oldSelekcja; //timeSliderEditKeys addInbetween;
Second is a script of Zeth Willie.
//---------------------------------------------------------------- //select curve and object to attach and distribute along the curve //---------------------------------------------------------------- string $sele[] = `ls -sl`; int $selSize = size($sele); int $numObj = $selSize-1; string $cShapeArray[] = `listRelatives -c $sele[0]`; string $cShape = $cShapeArray[0]; for ($a=1;$a<=$numObj;$a++) { string $thisObj = $sele[$a]; //print $a; shadingNode -asUtility pointOnCurveInfo -n ("POC"+$a); setAttr ("POC" + $a + ".turnOnPercentage") 1; connectAttr -f ($cShape + ".worldSpace") ("POC" + $a + ".inputCurve"); connectAttr -f ("POC" + $a + ".result.position") ($thisObj + ".translate"); //rotation tangentConstraint -weight 1 -aimVector 0 1 0 -upVector 1 0 0 -worldUpType "scene" $cShape $thisObj; } setAttr ("POC1.parameter") 0; setAttr ("POC" + $numObj + ".parameter") 1; for ($z=2; $z<($numObj); $z++) { string $POC = ("POC" + $z + ".parameter"); float $increment = 1.0 / ($numObj-1); float $parameter = $increment * ($z-1); setAttr $POC ($parameter); } //
And an explanation video here. Selection is very important cause you have to select objects in an order you want them to stick to curve. Curve should be last in selection. Best way to do this is to use outliner.
Maya, Mental Ray