BUG(or feature) Scripting with wiggle.
I have the wiggle expresion on the sliders.
Adding the value on the scale property gives 2 different wiggle values.
Is this an expected outcome, the wiggle is called for each property even if I have only one slider scripted (therefore what is the purpose of the slider if this is the case)?
My opinion is that intuitively it should add one value to both x an y.
Second example(without photo):
Threshold effect has the slider from 0 to 255 (as integer value or at the first look you may think so). The same as before intuitively you should pipe integer values ranged from 0 to 255, but as i discovered the slider takes only float values, again is this an desired outcome?
I find it as a user expirience bug.
There is no hint or documentation on this type of things, and I am sure there are more of this all over after effects.
Andrei Alex commented
Thank you a bunch for the response.
Thank you for submitting these issues. To address each separately:
In your example screen shot with the expressions, you are adding a wiggled Slider value ( a single number ) to a Scale value ( which is an array of two numbers ). Expressions automatically convert the values to match in this case, so "transform.scale + effect("Wiggler 2")("Slider")" becomes "[100,100] + [ 12, 0 ]". The X and Y values are added separately, similar to your topmost expression, but the Y value for the Slider is 0 because only a single number was given.
If you apply the wiggle() expression within the Scale property, rather than linking it to a wiggled Slider, it will automatically return an array of two different values. If you want to have a wiggled expression controller, perhaps to link multiple properties up, you should use a Point Control instead of a Slider so that the number of values/array length matches up.
The issues you are seeing with the Threshold effect is related to its implementation; in the UI, the values shown correspond to the project bit-depth by default. So 0-255 is shown for 8bit, 0 - 32,768 for 16bit, and 0 - 1 ( floating-point ) for 32bit. However, the expression value is always in 32bit and therefore from 0 - 1.
We will get a ticket filed for this internally for evaluation, as I can see how this would be confusing. A workaround which will work in AE today would be to set the Color Display preference in the Info panel's context menu ( the three lines aka "hamburger menu ) to "Decimal (0.0 - 1.0 )". This will cause the Threshold's Level property to always show the floating-point value instead of the 8bit or 16bit value, regardless of the project setting.
Thank you again for your feedback on both of these issues. I hope the explanations above are helpful, but please feel free to ask any additional questions.
- John, After Effects Engineering Team
Andrei Alex commented