I've created a 3D wheel made up of text layer precomps (see here- https://imgur.com/Zo6ZnQh) which I'm rotating on the x-axis, toward camera.
I'm trying to achieve an effect where whenever a text layer is center frame, I want it to scale toward camera in z-space, "popping out" or scaling up a bit. Similar to something you'd see in an app-like UI, like a selector-dial.
I'm trying to improve my expression game, but not really sure where to start for this... Wondering if anybody might have any insights to achieving this. Thanks!
on May 30, 2019 at 4:47:37 pm Last Edited By Kalleheikki Kannisto on May 30, 2019 at 4:51:40 pm
You want to figure out which property tells you that you are close to the position where you would scale (or move) the layer. I would expect that to be a specific rotation value of the layer. Let's say the angle when the layer is at the right position is 90 degrees. You want to figure out how close to that rotation value the layer is and scale (or move in z space, if you prefer) based on that, within a given range. Let's assume the range within which you want the scaling to happen is plus/minus 5 degrees. Then at 85 (or below) and at 95 (or above) degrees the scaling effect would be 0 and at exactly 90 degrees it would be 100. This means you want to convert the distance from the value 90 to the effect strength. Which, per my logic, would be: my_effect_strength = linear(Math.abs(90-current_angle), 0, 5, 100, 0)
You would use that result as the multiplier for the effect you want to do -- scale or z offset, or whatever works -- added to current value.
You can use ease() instead of linear() for a smoother motion, but there are a couple of more values involved. Check the expression reference.