Copy link to clipboard
Copied
Hey all. I'm completely stumped by what I've decided to shoot for here. I have this fractal noise effect moving in a WNW-like direction, but I'm wanting to have it change directions around the midpoint of the work area. Is there an expression(s), or some other solution, that can accomplish that? I'm going to be masking it on another comp, so if anything, I can just duplicate and rotate where necessary. But that is a LOT of extra layers and rendering I'd rather not deal with.
(I have the general path drawn out there.)
I would split and reverse the motion in a fractal noise layer by adding a mask and the transform effect. Set the compositing options for the Transform Effect to use the mask and then set rotation to 180º. A feather of about 100 pixels would do the trick. The comp looks like this:
Here is a project file for you to play with. Took me about 3 minutes.
This would also be a good starting point for a more fluid and organic-looking distortion. Another mask that just covers the overlap added as compo
...Copy link to clipboard
Copied
I'm not sure if this helps, but you could have Offset Turbulence follow a mask path with an expression like this:
p = mask("Mask 1").maskPath;
pct = linear(time,inPoint,outPoint,0,1);
p.pointOnPath(pct);
Copy link to clipboard
Copied
Thanks for the response, but I've tried something like that already. Unfortunately, it's not what I'm looking for.
Copy link to clipboard
Copied
You can easily set a keyframe for your mask path, copy it, then set a keyframe for Offset Turbulence and paste. You end up with this:
That will make the turbulence center follow the mask path and allow you to manually adjust the keyframes.
If you want the fractal pattern to rotate you'll have to add a null, open the position property of the null, paste the mask path to position, then you will have to add this expression to the rotation of the null with Auto Orient turned off.
try{
cornerEase = 3;
p = transform.position;
t = Math.min(Math.max(time,p.key(1).time+.001),p.key(p.numKeys).time);
pre = position.valueAtTime(t-thisComp.frameDuration*cornerEase);
post = position.valueAtTime(t+thisComp.frameDuration*cornerEase);
delta = post-pre;
orient = radiansToDegrees(Math.atan2(delta[0],-delta[1]));
value+orient+180
}catch(err){value}
I have that expression saved as an animation preset.
Then you tie the rotation of fractal noise to the Rotation of the null using just a simple drag the pickwhip from the Link/Parent column to the Rotation of the null. You end up with something like this:
In this case, I copied the Mask path and pasted it to the Null 1 position, then used the Link/Parent column's pickwhip to link the Offset Turbulence to the Null's position so I only have one set of keyframes to adjust. It makes things cleaner than having using the mask path as a motion path twice.
That's how I would approach your problem as I understand it. Dan's expression is just fine but it's a lot harder to adjust the timing to get what you want.
Copy link to clipboard
Copied
I'll save that as a preset for myself as well; I'm sure I could find a use for it in the future. Unfortunately, this isn't what I'm looking for either. I'll see if I can explain it a little better:
Imagine the turbulence center doesn't move anywhere. Instead, the fractal noise in the red moves in a WNW direction, and the fractal noise in the blue moves in a WSW direction at the same time. Think of it like two separate winds hitting a body of water. The body itself doesn't move anywhere, but once the water ripples move to the left from the red area to the blue area, they start going down instead of up.
Does that make sense? I'm usually terrible with explaining things like this haha.
Copy link to clipboard
Copied
Two different layers of Fractal Noise with a Bezier Warp or Mesh Warp applied to them to make them change direction and then one of them has a Linear Wipe effect on it (feathered) to make a smooth transition between the two layers?
Copy link to clipboard
Copied
This works. Thank you, Szalam!
Copy link to clipboard
Copied
Glad to help! Don't forget to mark posts with correct answers to close out the thread. Note: you can mark more than one post as a correct answer.
Copy link to clipboard
Copied
I would split and reverse the motion in a fractal noise layer by adding a mask and the transform effect. Set the compositing options for the Transform Effect to use the mask and then set rotation to 180º. A feather of about 100 pixels would do the trick. The comp looks like this:
Here is a project file for you to play with. Took me about 3 minutes.
This would also be a good starting point for a more fluid and organic-looking distortion. Another mask that just covers the overlap added as compositing options for Turbulent Displace might improve the edge transition. Check out Comp 2:
For a lot of projects trying to do a bunch of things on one layer complicates everything. In this case, the use of masks and composition options simplifies the project.