//ngambles- on VideoCoPilot
Create a new null object
Call it "Controls"
Make it a 3D layer
Create a new camera
Parent the camera to the "Controls" null object
Add all your CD Covers to the Scene as 3D layers
Position the CD Covers along the x axis as needed
Add two slider expression controls to the "Controls" null object
named one Transition Distance
named the other Rotation Space
Applie the expressions below to the position and Y rotation of the CD Cover layers
Now move the null object along the x axis and the CD Covers will rotate like you see in Cover Flow.
Done !
--The Expressions are here:
--in the Y Rotation of each CD Cover:
dist = thisComp.layer("Controls").effect("Transition Distance")("Slider");
cPos = thisComp.layer("Controls").position;
delta = cPos[0] - position[0];
ease(delta, -1 * dist , dist, 90, -90)
--In the Position of each CD Cover:
move = thisComp.layer("Controls").effect("Rotation Space")("Slider");
dist = thisComp.layer("Controls").effect("Transition Distance")("Slider");
cPos = thisComp.layer("Controls").position;
delta = cPos[0] - position[0];
p1 = value + [move , 0,0];
p2 = value + [-1* move, 0,0];
ease(delta, -1 * dist , dist, p1, p2)
--In the opacity of each CD Cover:
dist = thisComp.layer("Controls").effect("Transition Distance")("Slider");
cPos = thisComp.layer("Controls").position;
delta = cPos[0] - position[0];
delta = Math.abs(delta);
dist = dist * 3;
ease(delta,0 ,dist, 100, 0)