Howdy!
I was researching some expressions and happened to come across your question as I sit here with an CoverFlow Expression I did awhile ago. Not sure if you still need something.. but I figured I’d pass it along! ????
Here’s how I set it up.
I created a Comp called “CoverFlow” and added a “Null 1” and an Expression Slider Effect on the Null 1 layer.
I created a 400 by 400 Solid, made it 3D, and Pasted this Expression into the Position Value:
x=thisComp.layer(“Null 1”).effect(“Slider Control”)(“Slider”);
range=300; //range when Z begins
center=thisComp.width*0.5; //center of comp on X axis
distance=x-center;
Zdist=400;
if (x <= center ){
Zpos=ease(center+distance,center-range,center,value[2],value[2]-Zdist);
}else{
Zpos=ease(center+distance,center,center+range,value[2]-Zdist,value[2]);
}
[x,value[1],Zpos]
Then I pasted this Expression on the Y Rotation:
range=180; //range when rotation begins
center=thisComp.width*0.5; //center of comp on X axis
distance=position[0]-center;
angle=ease(center+distance,center+range,center-range,-70,70);
[angle]
From there I duplicated the Solid and added a Modification to the Expression on the Position.
x=thisComp.layer(“Null 1”).effect(“Slider Control”)(“Slider”) + 250;
range=300; //range when Z begins
center=thisComp.width*0.5; //center of comp on X axis
distance=x-center;
Zdist=400;
if (x <= center ){
Zpos=ease(center+distance,center-range,center,value[2],value[2]-Zdist);
}else{
Zpos=ease(center+distance,center,center+range,value[2]-Zdist,value[2]);
}
[x,value[1],Zpos]
I know there is an easier way to index the value so each solid adjusts its the value by 250 every time you duplicate it. So, make sure to add in a +250, +500, +750 each time you duplicate your solid on the first line of the expression..
Hopefully this helps you in some way