Forum Replies Created

Page 9 of 1081
  • Dan Ebberts

    February 27, 2025 at 3:56 pm in reply to: Text Layer and Shape Layer Padding

    From what I can decipher from your screen shots, you should be able to use something like this:

    gap = 100;
    L = thisComp.layer(index + 1);
    r = L.sourceRectAtTime(time,false);
    x = fromComp(L.toComp([r.left + r.width, r.top]))[0];
    [x + gap, value[1]]
  • Dan Ebberts

    February 26, 2025 at 10:18 pm in reply to: AE Scripting! Pseudo Effect – Disable Properties

    If you’ve never developed a plugin, the first one will be a bit of work, just getting familiar with the SDK and the whole process. Not messing with the pixels makes it considerably simpler and would be something I’d consider if you plan on doing this often, where you need complex controls where the state of one control needs to enable/disable other controls. Personally, I try to get by with Pseudo Effects whenever possible and only rarely feel the need crank out a controls-only plugin.

  • Dan Ebberts

    February 26, 2025 at 9:53 pm in reply to: AE Scripting! Pseudo Effect – Disable Properties

    By the way, if you were willing to ease into plugin development, creating a plugin that just provides effect controls (no image processing) is a relatively simple way to start.

  • Dan Ebberts

    February 26, 2025 at 9:47 pm in reply to: AE Scripting! Pseudo Effect – Disable Properties

    I don’t believe there’s any way to do that with a Pseudo Effect. Plugins have access to the whole API, but Pseudo Effects have very limited control over the UI.

  • Dan Ebberts

    February 25, 2025 at 7:00 pm in reply to: Text Layer and Shape Layer Padding

    You didn’t really give enough info to provide a definitive answer, but as an example, this position expression for your shape layer will center it (assumes anchor point is in the center of the layer) in the x direction on the center of the text layer, leaving the y position as-is:

    L = thisComp.layer("Text");
    r = L.sourceRectAtTime(time,false);
    x = L.toComp([r.left + r.width/2,r.top + r.height/2])[0];
    [x,value[1]]
  • Dan Ebberts

    February 25, 2025 at 1:07 pm in reply to: problem with multiple if else statesment

    Maybe like this:

    val = value;
    if (thisComp.layer("titlu 2").active) val += [0,-50];
    if (thisComp.layer("titlu 3").active) val += [100,-200];
    val
  • Dan Ebberts

    February 21, 2025 at 7:29 pm in reply to: AE camera DoF disabled by default

    You have Advanced 3D selected as your 3D Renderer. If you switch your comp setting to Classic 3D, you’ll be able to turn on Enable Depth of Field.

  • I’m not sure what the issue is–I just ran a little test, and this worked for me:

    var transformEffect = app.project.activeItem.layer(1).property("ADBE Effect Parade").property("ADBE Geometry2");
    transformEffect.property("ADBE Geometry2-0002").expression = "value";
  • You could modify the Torso_line path expression so that it looks at the layer in the main comp instead of the local one, like this:

    var controlLayers = [thisComp.layer("C1Torso_line Path 1 : 1"),thisComp.layer("C1Torso_line Path 1 : 2"),comp("MAIN").layer("C1Torso_line Path 1 : 3")]; 
    var origPath = thisProperty;
    var origPoints = origPath.points();
    var origInTang = origPath.inTangents();
    var origOutTang = origPath.outTangents();
    var control;
    for (var i = 0; i < controlLayers.length; i++){
    control = controlLayers[i];
    origPoints[i] = fromComp(control.toComp(control.anchorPoint));
    }
    createPath(origPoints,origInTang,origOutTang,origPath.isClosed());

    but I don’t think that’s going to give you what you want. It seems like it would be simpler to just tie the local “C1Torso_line Path 1 : 3” layer to the one in the MAIN comp with a position expression like this:

    comp("MAIN").layer(name).position
  • Without seeing it, I’m guessing it would be something like this (totally untested, so there might be typos):

    target1 = thisComp.layer("Target 1");
    target2 = thisComp.layer("Target 2");
    maxSize= 1000;
    minSize = 1;
    dist1 = Math.floor( length(position, target1.position) );
    range1 = target1.effect("range")("Slider");
    sensitivity1 = target1.effect("sensitivity")("Slider");
    scle1 = linear(dist1, range1, sensitivity1, maxSize, minSize);
    dist2 = Math.floor( length(position, target2.position) );
    range2 = taarget2.effect("range")("Slider");
    sensitivity2 = target2.effect("sensitivity")("Slider");
    scle2 = linear(dist2, range2, sensitivity2, maxSize, minSize);
    scale1/2 + scale2/2
Page 9 of 1081

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