Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions flick book- page turn -time

  • flick book- page turn -time

    Posted by Criis Daw on November 29, 2008 at 12:19 pm

    I know i should have better things on my mind on a saturday morning but,
    well here goes..

    I was trying to make a flick book style animation. Now there are quite possibly better approaches to the one i have chosen , but it has thrown me into improving the basic knowledge of expressions i have. Although it wont be used in the final job, it is a good exercise for the sake of learning. See its a fun post and its a saturday (geeeeeek out yeh)

    Ok so i want to be able to set up the comp with a top layer (master) that the layers below are conrtrolled by. I also want to be able to simply duplicate the 2nd layer (with the expressions on ) by the number of frames of the animation and for it all to ‘Automatically’ be built.
    I am almost there.
    The second layer contains the following expressions.

    on TIME REMAP : thisComp.layer(thisLayer, -1).timeRemap+.04

    make the duplicated layer be one frame (25fps) in advance of the layer above (question why can i not get timeremap to work as frames not seconds ? )

    on POSITION :

    temp = thisComp.layer(thisLayer,-1).transform.position[2];
    [304,425,temp-1]

    which tells it to place the duplicated layer one pixel above, in z space, the layer above it in the time line

    So like this i can duplicate the second layer and create a stack of ‘papers’ separated by one pixel in z and each one frame on from the next.

    Now by using cc page turn on the the layer before duplicating and then using the sequence layers animation assistant and overlapping the layer by one frame i can achieve what i wanted to with a minimum of fuss

    BUT

    It would be better for me if i could control the page turn after the layers had been duplicated. As it is i have to delete the duplicates redo the page turn settings and duplicate the layers again.

    so i linked the properties the second layer to the master using this expression

    thisComp.layer(“master”).effect(“CC Page Turn”)(“Fold Direction”)

    but then they all do the page turn at the same time as per the keyframes of the master.

    so i tried to make them follow page turn master at one frame
    after the layer above using the following:

    thisComp.layer(thisLayer-1).effect(“CC Page Turn”)(“Fold Position”).valueAtTime(time – .04)

    and it doesn’t work .. and i dont know what to try next

    the last expression i have successfully used before on values like position and rotation.

    Any ideas ?

    Any ideas of better ways to spend saturday morning ?

    Thanks

    Chris

    Randy Mcwilson replied 17 years, 5 months ago 3 Members · 6 Replies
  • 6 Replies
  • Dan Ebberts

    November 29, 2008 at 4:42 pm

    In your last expression, you left out the comma between thisLayer and -1, which should generate an error. Also, I’m curious why your time remap expression has a .04 second lead and your page turn has a .04 second delay.

    In any case, I think I’d structure the expressions more like this:

    // time remap
    thisComp.layer(1).timeRemap + (index-1)*thisComp.frameDuration

    // position
    thisComp.layer(1).transform.position – [0,0,1]*(index-1)

    // fold position
    delay = (index-1)*thisComp.frameDuration;
    thisComp.layer(1).effect(“CC Page Turn”)(“Fold Position”).valueAtTime(time – delay)

    Dan

  • Criis Daw

    November 29, 2008 at 4:51 pm

    Thanks for getting back to me.

    i will try what you have suggested. I am not very well versed in expressions and usually just try to modify ones i have already used .

    I used .04 for the time remap beacuse when i used 1 it remapped 1 second and .04 remapped one frame.

    What does the command ‘index’ mean ?

    reading what you have written does it say to take the information from the top layer everytime ? Unless that is what index is doing ?

    anyway , cant pretend to understand it
    but i will try it

    again

    Thanks

  • Criis Daw

    November 29, 2008 at 5:00 pm

    well the comma made it work like i hoped ..but its a shame the page turn isnt really 3d ….

    will try your expressions and see if i can figure out what they mean.

    Thanks

    Chris

  • Dan Ebberts

    November 29, 2008 at 5:30 pm

    index is just the layer’s number in the layer stack. So generally, you would refer to the first layer and then add some offset multiplied by index-1 (so the multiplier for layer 2 is 1, for layer 3 it’s 2, etc.)

    My question about the .04 was just that you’re adding it in one expression and subtracting it in another. thisComp.frameDuration gives you the same value, but it works for any frame rate.

    Dan

  • Criis Daw

    November 29, 2008 at 6:13 pm

    thanks for help

    I added .04 of a second on the time remap so each layer is one frame on from the layer above.
    I was subtracting it on the effect layer so the effect would start one frame later than the layer above it.
    i might still be mixed up about how i am doing it but it does work.

    once again thanks for your help.

    chris

  • Randy Mcwilson

    November 30, 2008 at 3:23 am

    For added realism for the 3D look (since AE is not truly 3D) add a WARP effect to each page, and use the ARCH mode with the orientation set to horizontal (I think). Keyframe the amount of warp from 0 to 10 (or -10 depending on the direction of motion) for opening, then keyframe from 10-0 when closing (could put in an expression that increases warp based upon angle of opening)

    I just did this for a book animation with fairly realistic results.

    Eternity…don’t miss it for the world.

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy