Skip to main content
markush95319924
Participant
April 15, 2018
Question

How to preserve quality when scaling the Paint effect?

  • April 15, 2018
  • 4 replies
  • 1312 views

Hi!

Is there an easy way of preserving the quality when scaling up a layer with the paint effect on, say several brushes/strokes? The Continuously Rasterize doesn't seem to work here when scaling the layer property (like with shape layers), even though Adobe says paint strokes is based on vectors. The only way I can make it work is on the actual Brushes under Transform.

I came up with a work around solution with parenting to a Null and so on (can explain later if someone want to), but I would love to see an easier way. Perhaps there is super simple and I just didn't see it

This topic has been closed for replies.

4 replies

markush95319924
Participant
April 15, 2018

Thanks for your replies so far!

I should have described more in detail what I wanted to accomplish:

I want to zoom (or make camera movements) in a comp containing elements build with the Paint Effect (among other layers). But that seems to be difficult if not the Continuously Rasterize works on this (and why not?).

AE User Guide says: "In After Effects, paint strokes are vector objects, which means that they can be scaled up without loss of quality."

Use the After Effects Brush, Clone Stamp, and Eraser Paint tools

And I suppose you're right theangietaylorregarding the vector/pixels, it is vector but it cant be scaled with the layer property. But I find it a bit strange that this built in standard effect/tool is limited in this way, when the Shape Layers is so easy to force rasterize in every scale size. Why not include this effect to this function?

Yes Gutterfish, but I have to reset the anchor points in order to get all strokes in the correct relative position.

Here is my workaround. The Paint strokes are on a layer in a PreComp of my MainComp:

  1. On the Paint layer, go to Brush - Transform Brush and copy the position values to the Anchor Points, but negative ( - ). Reset the positions to zero. Do so for all strokes. This is to maintain the relative position while scaling.
  2. Create a Null Object (in a "MainComp" in my example) and rename it "Control".
  3. Back in the Paint layer, alt-click for expressions on the Scale and Position of one of the Brushes. Now we can parent these to the Control layer like this:
    For the scale property: comp("MainComp").layer("Control").transform.scale
    For the position property: comp("MainComp").layer("Control").transform.position
  4. Parent the scale and position of all other Brushes to that first Brush stroke.
  5. Now you are able to control the scaling and position of the Paint layer with the Control layer in the MainComp, with perfect vector results in every scale size. And the relative positions of all strokes stay put. You can easily parent any other layer to the Control to get a zoom/"camera movement" in the comp.

Well, sorry the long post but that's one way of doing it. If you come up with an easier way, please let me know.

Andrew Yoole
Inspiring
April 16, 2018

My approach would be preemptive.

Work out the maximum scale required of your footage before you begin, so that when you reach maximum zoom you don't go over 100% scale.

Scale your footage/background layer appropriately.  Precompose.  Paint on the Precomped layer.

Now you're painting at the appropriate scale for 100% zoom.

P.M.B
Legend
April 15, 2018

Yes.  The scale has to be done on the strokes transform.   I cannot understand how parenting anything to a null is a solution, though?  Maybe you meant linking the stroke scale to a null scale via the expression pickwhip?   What you could do is the layer search field to expose all the scale transforms, link the first one to a null's scale via the expression pickwhip & then copy that/paste that expression to the all other strokes.

~Gutterfish
angie_taylor
Legend
April 15, 2018

You should scale the brushes using the Brushstroke Transform properties, NOT the layer properties. The brushes are vector based but the layer transform properties will scale the rendered pixels, not vectors. What are you trying to achieve with the Paint?

kirkeric
Inspiring
April 15, 2018

I would expect that scaling at some point is going to lose quality for sure.  What about scaling before using the paint effect?