Copy link to clipboard
Copied
I'm not asking about how to CHANGE the scale to be 100.0, 100.0%. I'm asking how to make it the new 100.0, 100.0 of the object. For example, if an object's scale is set at 89.0, 64.0%, I would keep the current state of the object as it physically appears with that ratio, then simply assign that ratio the value of 100.0, 100.0%.
By far the easiest way to do what you want to do is to: Add a null, parent the scaled layer to the null, use the null’s scale to control the null. When the Null's scale is 100, 100 the layer's scale will be 89, 64.
Option 2: Add an expression point control to the scaled layer (Effect>Expression Control>Point control, rename the effect NewScale or something like that, then tie the scale property to the point control using the following expression.
x = effect("New Scale")("Point")[0] - 100 + value[0
...Copy link to clipboard
Copied
Copy link to clipboard
Copied
By far the easiest way to do what you want to do is to: Add a null, parent the scaled layer to the null, use the null’s scale to control the null. When the Null's scale is 100, 100 the layer's scale will be 89, 64.
Option 2: Add an expression point control to the scaled layer (Effect>Expression Control>Point control, rename the effect NewScale or something like that, then tie the scale property to the point control using the following expression.
x = effect("New Scale")("Point")[0] - 100 + value[0];
y = effect("New Scale")("Point")[1] - 100 + value[1];
[x, y]
or add two sliders and call one x and the other y and use this expression:
x = value[0] - 100 + effect("X scale")("Slider");
y = value[1] - 100 + effect("Y scale")("Slider");
[x, y]
You could tie the Y slider to the X slider with a simple Pickwhip created expression so you only have to adjust one of the sliders like this:
effect("X scale")("Slider")
When you set the NewScale values to 100 the scale property will be 89, 64. Use the NewScale expression control to manipulate scale.
There is no way to make the scale values read anything but the actual values. If you were to try and add an expression that did the math directly like this [value[0] - 11, value[1] - 36] when you typed in 100 for X and Y scale you would get 89 for X and 65 for Y which is what you want but the values would say 89, 65, they would just be in red.
I'm really curious, why would you want to this? The solution that makes the most sense is to just add a parent like this:
Just thought of another way. Add Effect>Distort>Transform to your scaled layer. Do the scaling with the Transform Effect.
Copy link to clipboard
Copied
The Creative Cow method does work but you end up parented to a null. Of course it's easier to just parent the object to the null before you start but if some reason they didn't this method does reset the objects value while maintaining it;s scale.
If you have something scaled to whatever, say 120%.
You create a null.
You hold shift and parent the null to the object.
Then you unparent it.
Then you parent the object to the null & the objects scale (all it's properties, actually) get reset while maintaining it's visual properties.
Copy link to clipboard
Copied
EDIT: Bah! Rick posted several of these same ideas while I was typing this.
If it were a set value like this, you could enter the following as an expression on scale:
x = value[0]*.89;
y = value[1] *64;
[x,y]
This would leave your scale sliders technically set to 100,100, but they would display the 89,64 values.
For a more adjustable version of the above, I would probably use a Point Control, replacing the hard-coded numbers by pickwhipping to the x and y values, respectively. (It'll be easier to work with if you let those values be 89, 64 instead of .89, .64, which would mean you'd need to divide them by 100 in the expression. Let me know if this is unclear.)
I frequently use the reverse of this, tying my scale to a Slider Control or Point Control to do something like a slow creep without interfering with existing scale keyframes.
Other options would be parenting to a Null, or using the Transform effect.
Perhaps the better question: why do you want this behavior? Knowing your end goal might help us answer the question better.
Copy link to clipboard
Copied
I'm not certain what's the purpose but if you need to find the scalar then this is one solution -
-------------------------------------
scaleVal = thisComp.layer("Shape Layer 1").transform.scale.value;
myX_Scalar = (100/scaleVal[0]);
myY_Scalar = (100/scaleVal[1]);
[myX_Scalar,myY_Scalar]
-------------------------------------
The my?Scalar values will provide the scalar/ratio you want.
Copy link to clipboard
Copied
I know that it's old but I only want to put this information here for new people visiting this website. Now in AE you can simply right click on scale and reset it.
Copy link to clipboard
Copied
or not, sorry for that it dosen't work
Copy link to clipboard
Copied
Thankyou!
Copy link to clipboard
Copied
Select layer, go into Object > Content > Group 1 > Transform: Group 1 > Scale: 100, 100%
Set to 89.0, 64.0%
Select layer again, go into layer's Transform > Scale: 89.0, 64.0% or select the layer and press "S"
Set to 100, 100%
----
If there are multiple groups or paths, you can merge them by selecting Group 1, Group 2, etc. and pressing Ctrl G or Command G