Forum Replies Created

Page 6 of 8
  • Ben Rollason

    July 23, 2009 at 11:03 am in reply to: coverflow sort of???

    Okay… I’ve got a comp 860×484… don’t know why that size, but anyway.

    In the middle is a blue solid 200×200, which sits at [430, 242].

    On to this solid (which is a 3D layer) I set position to…

    origTY = 242; // orig (central) y position.
    tMaxHeight = 200; //max y movement above or below origTY
    tDepth = tMaxHeight*3; //you can make this more than max height to exagerrate the depth. At 1, the object will describe a circle.

    tY = transform.position[1];
    tY = (tY > origTY + tMaxHeight?origTY + tMaxHeight: (tY < origTY - tMaxHeight? origTY - tMaxHeight: tY)); //clamp tY so it can't move outside its upper or lower bounds. acosY = Math.acos((tY-242)/tMaxHeight); tZ = Math.sin(acosY); [transform.position[0], tY,(-tZ*tDepth)+tDepth];

    and orientation to...

    origTY = 242; //orig (central) y position
    tFactor = 1.5; //adjust for more or less rotation
    xRot = transform.position[2]/10;
    [-tFactor * xRot * (((transform.position[1] > origTY)*2)-1), transform.orientation[1], transform.orientation[2]]

    I think that gives you something like you're after. The trigonometry causes the solid to move back in space in a circular fashion. It's essentially describing a circle with a central point tMaxHeight behind your solid. The movement is driven by animating the y position.

    The rotation is arbitrary, based on the movement back in z space.

    Hope that helps,

    -Ben.

    http://www.benrollason.com

  • Ben Rollason

    July 23, 2009 at 10:35 am in reply to: Expression for Making a Layer Travel in a Triangle

    Hmmm. I posted the expression in the box, but it didn’t come up, so here it is again…

    -Ben.


    p1 = thisComp.layer(1).position;
    p2 = thisComp.layer(2).position;
    p3 = thisComp.layer(3).position;

    tpoints = [p1, p2,p3];

    tduration = 300; //frames

    tFrame = time/thisComp.frameDuration;

    tSector = Math.ceil((tFrame) / (tduration/3));

    tSector = (tSector < 1?1:(tSector>3?3:tSector));

    tBetween = [tSector % 3,tSector -1];

    tStage = tFrame % 100;

    tP = (tpoints[tBetween[0]]*tStage+ tpoints[tBetween[1]]*(100-tStage))/100;

    if (tFrame > tduration) { tP = p1 };

    http://www.benrollason.com

  • Ben Rollason

    July 23, 2009 at 10:34 am in reply to: Expression for Making a Layer Travel in a Triangle

    The following draws a triangle between the three points defined by three layers. They could equally well be points that you have inputed manually.

    The rounded corner thing is tricky. Either the math gets really complicated. You’d need to have a point moving distant from your original point, but perpendicular to it. At each vertex, you would pause the initial movement for a time and instead animate the point in the arc of a circle around the vertex.

    How long that time is depends on the relative length of the sides of the triangle to the arcs of the circles.

    Like I said, complicated.

    Couldn’t you just get the damn thing to follow a spline path? 🙂

    -Ben.

    http://www.benrollason.com

  • Ben Rollason

    July 23, 2009 at 10:12 am in reply to: Radnom expressions help…

    random(1) > 0.5;

    will give you a 0 or a 1 randomly on each new frame. If you want more control, try:

    tSpeed = 1;
    noise(time*tSpeed) > 0;

    and then adjust the speed variable to make it go faster or slower.

    – Ben.

    http://www.benrollason.com

  • Graham,

    If I understand you correctly, it is basically an expressions job – a copy and paste one, but it needn’t be as cumbersome as you think.

    If you make sure that the layers are in the same order between comps, then you could use something like this…

    position expression: comp(“comp I link to”).layer(thisLayer.index).transform.position;

    orientation expression: comp(“comp I link to”).layer(thisLayer.index).transform.orientation;

    Type this in for one layer, then highlight the position and orientation properties, copy. Highlight all other layers, paste.

    Now open up the other comps you need to link, select all layers, paste.

    Voila. Linked.

    Ben.
    https://www.benrollason.com

    http://www.benrollason.com

  • Ben Rollason

    July 17, 2009 at 11:47 am in reply to: toWorld.valueAtTime
  • Ben Rollason

    July 11, 2009 at 12:47 pm in reply to: xpresso valueAtTime

    Lots of reasons really. I use it all the time in After Effects.

    Specifically, this time I wanted to write a function that automatically picked up the first and last keyframe of one property and apply an identically shaped curve to different properties – that might have a different interval or duration.

    It’s also dead useful for position averaging, anticipation or custom look-ahead type functions…

    B.

    http://www.benrollason.com

  • Ben Rollason

    July 3, 2009 at 8:16 pm in reply to: Newbie Mograph Question

    It’s easy when you know how!

    Thanks Adam.

    – Ben.

    http://www.benrollason.com

  • Ben Rollason

    June 27, 2009 at 5:45 pm in reply to: Clothilde in slow motion

    Hi again Lennart,

    Can you tell me where I can find the point cache tag. I only have 3 Clothilde tags and I can’t seem to find point cache anywhere else in Cinema (v10)

    Best,

    Ben.

    http://www.benrollason.com

  • Ben Rollason

    June 26, 2009 at 8:53 am in reply to: Clothilde in slow motion

    Hi Lennart,

    That’s a new one on me! Thanks for the tip, I’ll give it a go.

    Ben.

    http://www.benrollason.com

Page 6 of 8

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