Activity › Forums › Adobe After Effects › Animating a deck of cards, the smart way
-
Animating a deck of cards, the smart way
Posted by Mark Clarkson on October 30, 2007 at 9:30 amI am doing an animation that involves a deck of cards. At some point every card in the deck will peel off, one by one, and fly around. The cards will be face up, so you can see their suit and denomination.
I
Mark Clarkson replied 18 years, 6 months ago 5 Members · 7 Replies -
7 Replies
-
David Bogie
October 30, 2007 at 1:48 pmI’d hire a 3D animator who has done cards before but that’s just me.
I don’t see an easy way to do this in AE as you have described your need but it’s fairly simple to create a sequence of 52 still images that feeds a particle system like Foam. The problem is the back of the cards and their card-like movement which an out-of-the-box filter like Foam might not provide.
Patience. Someone will join in with a better suggestion soon. Search for CARD or DECK OF CARDS. We’ve entertained dozens of similar topics over several years. Falling leaves is a similar effect.
bogiesan
-
Steve Roberts
October 30, 2007 at 2:08 pmHmm … I’d just bite the bullet like this, assuming you have one animation that works, and you don’t need to see the backsides of the cards:
1. Have 52 cards made up … PSDs, TIFs, whatever, and import them.
2. Save your animation’s keyframes as a preset.
3. Drag all cards into the comp.
4. Apply the preset to all of them. You should be able to do it all at once.
5. Sequence the layers in the comp.I haven’t treid it, but it should work.
-
Kevin Camp
October 30, 2007 at 3:33 pmi’m with steve, create a preset and apply to all layers. it should be pretty easy.
if you wanted to make adjusting a little easier, you could try a simple expression and an expression control effect…
name the ‘animated’ card ‘top card’ and place it at the top of the stack of card layers. add a slider expression control effect to the ‘top card’ and enter a value of 1 for now. this slider will be used to control the time offset for the other cards in the deck (the value is in seconds, so 1.00 is one second).
now, on another card (any except the animated card) paste this in the expression field for position (to enable expressions option-click or alt-click the stop watch for the parameter):
timeoffset = thisComp.layer("top card").effect("Slider Control")("Slider"); thisComp.layer("top card").transform.position.valueAtTime(time - ((index - 1) * timeoffset))if rotation is also animated add this to the rotation expression field:
timeoffset = thisComp.layer("top card").effect("Slider Control")("Slider"); thisComp.layer("top card").transform.rotation.valueAtTime(time - ((index - 1) * timeoffset))note that the only thing that changed was ‘position’ to ‘rotation’ in line 2. so if any other parameters are animated, just paste the expression in to the field and change that term to the parameter (so for scale, change ‘rotation’ to ‘scale’ etc).
after all the necessary parameters are linked to the new card, select the card layer and hit ‘ee’ to show the expressions for that card, select all of those parameters and choose animation>save animation preset, and name it.
now select all the other cards (not the animated card) and choose animation>apply animation preset (or choose it from the effects & presets panel).
now all the layer’s animations will be offset by the value in the slider control on the top card, you won’t need to sequence the layers. if you need to make adjustments to the timing of the offset you can easily adjust the value of the slider. you could even keyframe the slider to have the rate of the card peel-off increase or decrease.
Kevin Camp
Designer – KCPQ, KMYQ & KRCW -
Kevin Camp
October 30, 2007 at 4:37 pmif the cards are 3d layers, this will work a little better for position:
timeoffset = thisComp.layer("top card").effect("Time Offset")("Slider"); stackoffset = thisComp.layer("top card").effect("Stacking Offset")("Slider"); thisComp.layer("top card").transform.position.valueAtTime(time - ((index - 1) * timeoffset)) + [0,((index - 1) * stackoffset),0]you will need to add one more slider control to the top card and name it ‘Stacking Offset’. this will now stack each card above the next card on the y axis (instead of on the same yz plane). the ‘stacking offset’ slider will allow you to control the spacing between the cards.
the rotation expression would be the same as the previous for each roation axis… if you had animated the ‘orientation’ use the same expression, but change ‘rotation’ to ‘orientation’.
Kevin Camp
Designer – KCPQ, KMYQ & KRCW -
Darby Edelen
October 30, 2007 at 5:18 pmI did a similar animation of 16 cards in AE for a memory game special feature on a children’s DVD. The way I managed it was creating the animation I wanted once, then duplicating the 2 layers (front & back of the cards) 15 times, then opt-dragging replacement front layers on to each of the front layers, then moving the layers as I needed. In my case this was into 4 different rows with 4 columns, in your case it sounds like it would mean offsetting the animation keyframes in time.
It’s a bit of a pain, but it’s definitely not the hardest part of the process. It took me much longer to design the front of every card.
Here’s an expression from Dan Ebberts that will help you immensely with the flipping animation:
https://www.motionscript.com/design-guide/invisible-facing-away.html
Darby Edelen
DVD Menu Artist
Left Coast Digital
Aptos, CA -
Mark Clarkson
November 1, 2007 at 1:58 amThanks, everyone. I appreciate all the pointers. Using an animation preset sounds like the best way to go, perhaps combined with replacing the faces.
Reply to this Discussion! Login or Sign Up