by johnnyz on Mon 15. Sep 2008, 15:38
I had started by using the return value of a distance dimension node to control the offset of the aim constraint which only sort of worked and when it did it only worked when it was within a certain distance from the origin because I wrote an if statement to control the negative action of the rotation. Here's what I had.
float $locPos = group1.translateX*20;
float $cardRot = -$locPos;
pPlane1.rotateZ = $cardRot;
pPlane2.rotateZ = $cardRot;
pPlane3.rotateZ = $cardRot;
pPlane4.rotateZ = $cardRot;
pPlane5.rotateZ = $cardRot;
pPlane6.rotateZ = $cardRot;
pPlane7.rotateZ = $cardRot;
pPlane8.rotateZ = $cardRot;
pPlane9.rotateZ = $cardRot;
pPlane10.rotateZ = $cardRot;
pPlane11.rotateZ = $cardRot;
pPlane12.rotateZ = $cardRot;
pPlane13.rotateZ = $cardRot;
if (distanceDimensionShape1.distance >= 9.1 && group1.translateX <= 0)
pPlane1.rotateZ = 0;
if (distanceDimensionShape1.distance >= 9.1 && group1.translateX > 0)
pPlane1.rotateZ = -180;
if(pPlane12.rotateZ > 0)
pPlane1.rotateZ = 0;
///
if (distanceDimensionShape2.distance >= 9.1 && group1.translateX <= 0)
pPlane2.rotateZ = 0;
if (distanceDimensionShape2.distance >= 9.1 && group1.translateX > 0)
pPlane2.rotateZ = -180;
if(pPlane2.rotateZ > 0)
pPlane2.rotateZ = 0;
if(pPlane2.rotateZ < -180)
pPlane2.rotateZ = -180;
///
if (distanceDimensionShape3.distance >= 9.1 && group1.translateX <= 0)
pPlane3.rotateZ = 0;
if (distanceDimensionShape3.distance >= 9.1 && group1.translateX > 0)
pPlane3.rotateZ = -180;
if(pPlane3.rotateZ > 0)
pPlane3.rotateZ = 0;
if(pPlane3.rotateZ < -180)
pPlane3.rotateZ = -180;
///
if (distanceDimensionShape4.distance >= 9.1 && group1.translateX <= 0)
pPlane4.rotateZ = 0;
if (distanceDimensionShape4.distance >= 9.1 && group1.translateX > 0)
pPlane4.rotateZ = -180;
if(pPlane4.rotateZ > 0)
pPlane4.rotateZ = 0;
if(pPlane4.rotateZ < -180)
pPlane4.rotateZ = -180;
///
if (distanceDimensionShape5.distance >= 9.1 && group1.translateX <= 0)
pPlane5.rotateZ = 0;
if (distanceDimensionShape5.distance >= 9.1 && group1.translateX > 0)
pPlane5.rotateZ = -180;
if(pPlane5.rotateZ > 0)
pPlane5.rotateZ = 0;
if(pPlane5.rotateZ < -180)
pPlane5.rotateZ = -180;
///
if (distanceDimensionShape6.distance >= 9.1 && group1.translateX <= 0)
pPlane6.rotateZ = 0;
if (distanceDimensionShape6.distance >= 9.1 && group1.translateX > 0)
pPlane6.rotateZ = -180;
if(pPlane6.rotateZ > 0)
pPlane6.rotateZ = 0;
if(pPlane6.rotateZ < -180)
pPlane6.rotateZ = -180;
///
if (distanceDimensionShape7.distance >= 9.1 && group1.translateX <= 0)
pPlane7.rotateZ = 0;
if (distanceDimensionShape7.distance >= 9.1 && group1.translateX > 0)
pPlane7.rotateZ = -180;
if(pPlane7.rotateZ > 0)
pPlane7.rotateZ = 0;
if(pPlane7.rotateZ < -180)
pPlane7.rotateZ = -180;
///
if (distanceDimensionShape8.distance >= 9.1 && group1.translateX <= 0)
pPlane8.rotateZ = 0;
if (distanceDimensionShape8.distance >= 9.1 && group1.translateX > 0)
pPlane8.rotateZ = -180;
if(pPlane8.rotateZ > 0)
pPlane8.rotateZ = 0;
if(pPlane8.rotateZ < -180)
pPlane8.rotateZ = -180;
///
if (distanceDimensionShape9.distance >= 9.1 && group1.translateX <= 0)
pPlane9.rotateZ = 0;
if (distanceDimensionShape9.distance >= 9.1 && group1.translateX > 0)
pPlane9.rotateZ = -180;
if(pPlane9.rotateZ > 0)
pPlane9.rotateZ = 0;
if(pPlane9.rotateZ < -180)
pPlane9.rotateZ = -180;
///
if (distanceDimensionShape10.distance >= 9.1 && group1.translateX <= 0)
pPlane10.rotateZ = 0;
if (distanceDimensionShape10.distance >= 9.1 && group1.translateX > 0)
pPlane10.rotateZ = -180;
if(pPlane10.rotateZ > 0)
pPlane10.rotateZ = 0;
if(pPlane10.rotateZ < -180)
pPlane10.rotateZ = -180;
///
if (distanceDimensionShape11.distance >= 9.1 && group1.translateX <= 0)
pPlane11.rotateZ = 0;
if (distanceDimensionShape11.distance >= 9.1 && group1.translateX > 0)
pPlane11.rotateZ = -180;
if(pPlane11.rotateZ > 0)
pPlane11.rotateZ = 0;
if(pPlane11.rotateZ < -180)
pPlane11.rotateZ = -180;
///
if (distanceDimensionShape12.distance >= 9.1 && group1.translateX <= 0)
pPlane12.rotateZ = 0;
if (distanceDimensionShape12.distance >= 9.1 && group1.translateX > 0)
pPlane12.rotateZ = -180;
if(pPlane12.rotateZ > 0)
pPlane12.rotateZ = 0;
if(pPlane12.rotateZ < -180)
pPlane12.rotateZ = -180;
///
if (distanceDimensionShape13.distance >= 9.1 && group1.translateX <= 0)
pPlane13.rotateZ = 0;
if (distanceDimensionShape13.distance >= 9.1 && group1.translateX > 0)
pPlane13.rotateZ = -180;
if(pPlane13.rotateZ > 0)
pPlane13.rotateZ = 0;
if(pPlane13.rotateZ < -180)
pPlane13.rotateZ = -180;