-
Procedural animations over an array of lines
Hello all,
I’ve referenced this community a lot, but this is my first time posting. Thanks for all the useful knowledge I’ve accessed so far, and thanks in advance for any advice you might have in reference to this post.
I am creating an array of lines that need to be able to animate in a number of ways:
* The lines need to become progressively more wiggly, and I need to be able to control this ‘wigglyness’ (the wiggle is static, not affecting the path over time)
* I need to be able to be able to adjust the stroke width of the lines in a similar way (and have control over the curve of the increase in line thickness from line to line)
* I need to be able to animate the x position of the lines so as to give the impression of a parallax, the most wiggly off in the distance, and the flatter lines nearer, with the feeling as if we are in a train passing this landscape (if the wiggle path effect passed through the line on the x axis, I could just animate that, but the spatial and temporal phase parameters don’t produce the desired effect)
* I also need to be able to animate the y position of the lines.I’ve created some of this already, but it would be great to work out how I can create a composition with a few expression control sliders to control all the elements I need to. I’ve attached some images of the kind of things I’m trying to do.
I’ve been affecting the wigglyness using this expression:
thisComp.layer(index+1).content("Wiggle Paths 1").size*thisComp.layer("WiggleParameters").effect("Size")("Slider")To handle the distribution of the lines on the y axis, and the parallax, I created a massive precomp and have been using this expression for the lines’ position:
ofstVal = thisComp.layer("Line Position and Paralax").effect("Y offset")("Slider") * index; // y offset value
ofstVal2 = thisComp.layer("Line Position and Paralax").effect("Paralax")("Slider") * index/thisComp.layer("Line Position and Paralax").effect("Paralax ratio")("Slider"); // x offset value
sPosition = thisComp.layer("Line Position and Paralax").position; // key layer positionx = sPosition [0]+ ofstVal2;
y = sPosition [1]+ ofstVal;[x, y]
I have come up against some problems- in order to be able to have the parallax work at at the speed required, and for the duration the video needs to be, I need to make the precomp gigantic, with very long lines moving across the x axis. As the lines are so long, ‘wiggle paths’ has a weaker effect on the lines and the size of the precomp makes everything unwieldy. Is there a way around this? I was wondering if there were a way to either have the ‘wiggle’ pass through the line on the x axis, meaning I could use lines the width of the composition, if I could loop the wiggle paths evolution over time, or if somehow I could create a kind of conveyer-belt (like a flattened cylinder) to try and loop the lines?
Perhaps I am going about all of this the wrong way! Any advice or assistance anyone can provide would be gratefully received. If you need any more info from me in order to help, let me know!
Thank you,
David


