Forum Replies Created

  • Tynan Humphrey

    January 23, 2018 at 5:55 am in reply to: Moving an Object Relative to Others

    Here’s the expression I ended up using. It scales well and seems fairly lightweight. Let me know if you see any optimizations.

    //Initial position variables
    initCtrl1=thisComp.layer("Ctrl1").transform.position.valueAtTime(-1);
    initCtrl2=thisComp.layer("Ctrl2").transform.position.valueAtTime(-1);
    objPos=transform.position;

    //Current positions variables
    newCtrl1=thisComp.layer("Ctrl1").transform.position;
    newCtrl2=thisComp.layer("Ctrl2").transform.position;

    //Measurements
    oldDistance = initCtrl1-initCtrl2;
    newDistance = newCtrl1-newCtrl2;
    xRatio = newDistance[0]/oldDistance[0];
    yRatio = newDistance[1]/oldDistance[1];

    //Adds relative movement to the 0 value controller
    newPos=[newCtrl2[0]+objPos[0]*xRatio, newCtrl1[1]+objPos[1]*yRatio];

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