Forum Replies Created

Page 2 of 8
  • Ben Rollason

    August 29, 2010 at 3:24 pm in reply to: aligning camera to an object

    Sounds like a good plan!

    Thanks, Brian.

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    August 29, 2010 at 3:24 pm in reply to: separate light pass

    I think it’s not possible, unless you were to do the whole thing in separate passes. It’s a shame though, as it would be great to render the whole scene minus 1 light, then render that light as a separate pass to control it later in compositing.

    Well… if anyone thinks of a cunning workaround, please let me know!

    Thanks for you help guys.

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    August 29, 2010 at 3:21 pm in reply to: Getting a layer’s children?

    Ah… that’s a shame. That’s exactly what I was trying to avoi, by using the non-existent thisLayer.children! 🙁

    Thanks for the confirmation, though Dan.

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    June 13, 2010 at 4:07 pm in reply to: AE computes expression wrongly

    It would certainly make life a lot easier and save a hell of a lot of lines of code if After Effects were able to handle persistent data!

    I would also love to see an expression debugger.

    What I usually do for long expressions is calculate them in Sliders or Point Controls and then link the result to the actual animating parameters. (This is also more economical in calculations if you have several layers doing the same thing).

    You can also link the source text of a text layer to the output as a kind of watcher.

    I also tend to edit expressions in a text editor and paste them in to the expression fields if they get anything over about 20 lines long.

    Workaround, workaround, workaround….

    Welcome to expressions!

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    June 13, 2010 at 3:58 pm in reply to: stripy texture on sides of text

    Thanks Adam,

    Great tip about the lines shader… thanks.

    The problem I was having is that I hadn’t changed the spline intermediate points to uniform. Once I did that, the pattern evened out.

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    May 18, 2010 at 6:59 pm in reply to: evenly disperse

    Yes… apply the expression and the position data to all of the layers. It’s important that each layer not only has the expression, but also the ‘pre-expression’ value of [0,0] because this value is added to the randomly generated one. That’s how you are able to adjust the random position manually after the event.

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    May 18, 2010 at 5:42 pm in reply to: evenly disperse

    Hi Thomas,

    Thanks for the kind words! Drop me a line any time if you need an extra pair of hands on a project.

    If I understand correctly what you’re trying to do, then bring all of your comps into one main comp. On one of the layers, set the position to [0,0] then type in the following:


    seedRandom(this.index, true);
    [random(thisComp.width), random(thisComp.height)] + value;

    That will randomly distribute the layers, but you can adjust the position by changing the original position value. (it will get added to the randomly generated position). Be careful though. If you add layers or change the layer order, the positions will change. This is because the random number is based on the layer index. You could give each layer a Slider and manually set the value and use this to generate the random seed. Something like…

    seedRandom(this.effect("manual random seed")("Slider"), true);
    [random(thisComp.width), random(thisComp.height)] + value;

    But that’s more work…nearly as much as setting them randomly!

    If you’re working in 3D, the random z component would need to be arbitrary as a composition has no set depth. Ideally in 3D, you’d want to distibute the layers in a pyramid radiating out from the camera and this is a bit more complicated, but a box will usually do the trick, if the depth isn’t too major.

    Once you’ve put the expression on one layer, copy the position attribute (select it and Ctrl-C / Cmd-C ). And paste it onto all the others. Select ’em all (just the layers will do – you don’t have to select the position property to paste) and Ctrl-V / Cmd-V.

    You could also check out Lloyd Alvarez 3D layer distributor script… https://aescripts.com/3d-layer-distributor/

    Loads of other good automation scripts over at aescripts too.

    Best,

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    May 10, 2010 at 8:25 pm in reply to: AE Z-depth math

    I’d suggest you also need to add….

    tV = anchorPoint + (normalize(p3 – anchorPoint) * length(anchorPoint, [0,0]));

    This effectively clamps the near point to a circle that passes through all four corners…although this assumes that the anchor point is in the middle of each layer. If it isn’t you’ll need some extra code to work out the geometric centre of the layer and use that instead of the anchor point.

    The other part of the job is a nice recursive function that duplicates the comp and links all of the properties up via expressions.

    I’m working on a script to do exactly this at the moment. If you hit a brick wall with the math, drop me a line and I’ll send you a copy when it’s done if you like.

    -Ben.

    vfx.benrollason.com

  • You can use a simple javascript include statement pre CS4.

    After that it gets a little more complicated.

    Lloyd Alvarez has a workaround for CS5. Unfortunately, you still can’t use relative paths in AE expressions.

    https://www.graymachine.com/2009/04/expressions-and-external-documents-revisited/

    -Ben.

    vfx.benrollason.com

  • Ben Rollason

    April 13, 2010 at 6:15 pm in reply to: Depth cueing particles

    Ah… just cracked it. You have to make a cloner with its mode set to object and drop the emitter in to the object field of the cloner. Then any child of the cloner becomes the particle.

    It’s a bit unintuitive sometimes, is Mograph! 🙂

    -B.

    vfx.benrollason.com

Page 2 of 8

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