Split-flap display boards rig with expressions and teaching
Copy link to clipboard
Copied
Hello.
Do you remember the old airport split-flap display boards?
I’ve created a rig which automatically animates to a number based on a slider from 1 to 9999 - it can add/remove a flap depending on how many numbers are required, while keeping it all centred. Works well.
Currently it’s all based on opacity, if/else, and converting the slider to a string - limited to animating on and coming to a rest at the sliders number.
To take it to the next level, I’d like it to be able to go, for example, 00 to 23 (already does that), then keyframe from 23 to 34, then for extra credit go back from 34 to 12 - all from a slider.
One of the key requirements I guess, is for the keyframes that animate the flip, to be able to play whenever the number changes, not just when the number first appears at the begining of the sequence.
I suspect I’ll need to rebuild the whole thing from scratch, which if fine.
So my question is, what’s a good resource or YouTube channel to start with, that's related to the above? Is there something that exists that uses similar principles that I could study? Any recommend courses?
Or even - if there are experts who also teach one on one (for a fee), that would also be a fun experience.
I’m keen to learn while creating on this one.
Thank you
Copy link to clipboard
Copied
Honestly, and no offence, that's like describing an alien's flatulence on Orion Prime. Show us what you have and then we can advise. A simple screenshot of your setup with the expressions and slider rigging exposed could tell us a lot.
Mylenium
Copy link to clipboard
Copied
Thank you.
Each colour-coded composition represents one 'flap' in the display.
Only one composition, per composition colour group is visible at a given time (which means 4 flaps displayed for a maximum number of 9999).
Each composition has a flap animated from 0 to X.
Eg; Counter - 6; animates from 0 to 6.
The brown 'Counter -6' will be 100% opacity whenever there is a 6 as the first character (eg; 6, 60, 600, 6000).
The yellow 'Counter -6' will be 100% opacity whenever there is a 6 at the second character (eg; 16,26,36,46 etc..)
And so on.
Position null keeps it centred, so if there is only one digit, that flap is centred while the others are off.
The checkbox is an override to add a custom symbol at the end (%).
Inside the counter sequence (counter-6.png) is each flap animated, up to the final number 6.
Obviously I can reuse a lot of these assets instead of duplicating on mass - the bit I need to work on is the above post - being able to 'restart' the animation, so it naturally moves from 34 to 85.
Let me know if you need any more info.
Thanks again.
Copy link to clipboard
Copied
A binary compare with a triple-loaded operator makes zero sense when you're dealing with numbers. Your code has several issues. That aside your whole setup seems unnecessarily complicated. Unless there is a need to actually see all cards (which most people don't want), you can easily zap through all numbers you need on three boards with repeating animation and e.g. using a simple Math.floor(whateverSliderValue). The setups available on AEScripts.com also seem to simply use time-remapping with expressions on pre-comps, which would make them much more reusable, so perhaps give that a whirl.
Mylenium
Copy link to clipboard
Copied
It sounds like you're wanting to use an expression to control the animation based on when you change the text, rather than keyframe it. Dan Ebberts who posts here quite a bit is a true master of expressions. His website is motionscript.com where you'll find lots of useful tutorials.
What you're asking is out of my comfort zone, but I will share this expression (which Dan made for me) which drives the opacity of an effect when the effect's centre property has a keyframe:
fadetime = 0.5;
dur = 1.5;
p = effect("Circle 2")("Center");
val = 0;
if(p.numKeys > 0){
n = p.nearestKey(time).index;
if(p.key(n).time > time) {
n--;
}
if(n > 0){
t = p.key(n).time;
if(time < t+dur){
val = linear(time, t, t+fadetime, 0, 100);
} else {
val = linear(time, t+dur, t+dur+fadetime, 100, 0);
}
}
}
val
So suppose you create a precomp with the spinning and use Essential Graphics to set the display values. I think it would then be possible to use an expression similar to the above to drive the Time Remapping property.
Copy link to clipboard
Copied
Thank you for the help - I'll have a play with this and look at Dan's resources.

