********************************************************************* Global Controls *Edge distance angle = degreesToRadians(effect("Page Angle")("Angle")/4); opp = effect("Edge Width")("Slider")/2 adj = Math.tan(angle)*opp *Page1 effect("Cover")("Slider")*0.75 *Page2 effect("Cover")("Slider")*0.5 And so on... ********************************************************************* Object Controls *Angle effect("Object Angle")("Angle") if (effect("Object Angle")("Angle") > 180) {180} else { if (effect("Object Angle")("Angle") < 0) { 0 } } *Height thisComp.layer("object name").height *B angle = Math.abs(effect("Object Angle")("Angle")-90); hypo = effect("height")("Slider"); opp = Math.sin(degreesToRadians(angle))*hypo *t a =effect("height")("Slider"); b =effect("B")("Slider"); angle =degreesToRadians(thisComp.layer("Global Controls").effect("Page Angle")("Angle")/2); t = (a*b)/(Math.sqrt(Math.pow(a,2)*Math.pow(Math.cos(angle),2) + Math.pow(b,2)* Math.pow(Math.sin(angle),2))); *X angle =degreesToRadians(thisComp.layer("Global Controls").effect("Page Angle")("Angle")/2); t = effect("t")("Slider"); x = t * Math.cos(angle); *a angle = degreesToRadians(Math.abs(effect("Object Angle")("Angle")-90)); if (angle == 0) { angle = 1 } opp = effect("X")("Slider"); size = (opp / Math.sin(angle))*2; ********************************************************************* Object XRotation hypo =height*2; adj =thisComp.layer("Object Control").effect("a")("Slider"); if (adj > hypo) { adj = hypo; } if (thisComp.layer("Object Control").effect("Object Angle")("Angle") > 90) {transform.xRotation = (radiansToDegrees(Math.acos(adj/hypo))-90);} else {transform.xRotation = (radiansToDegrees(Math.acos(adj/hypo))-90)*-1;}