Expressions with posterizeTime fail to posterize if expression returns a property directly
AE Version: 17.6.0 (Build 46)
- Create a New Project
- Add a new layer
- Animate the position property with keyframes
- Apply the following expression to position:
Position animation is posterized.
Position animation is not posterized.
The failure to posterize only occurs in cases where the expression returns a property directly. For instance, the following expression...
posterizeTime(6); transform.position + [0, 0]
... does correctly posterize the position animation, despite the fact that it should be returning an identical result. This can be seen in my first example AEP file.
The property being returned does not have to be itself. For instance, if the expression returns the position value from another layer, or if it returns the value of a Point Expression Control, it'll again fail to posterize. This happens even if the layer is 3D and pointing to a 2D vector property. The second example AEP has the layers pointing to the position property of a Null layer, and still exhibits the issue.
This does not happen with just position properties, although is the quickest and easiest to demonstrate. This will also happen with things like Character Selectors in Text Animators, where this issue was first observed.
Thank you for reporting this issue. We are able to reproduce it as well with the steps you provided ( thanks for those! ). We will be taking a look at possible causes and solutions.
In the meantime, a workaround is to add ".value" to the end of the property reference e.g. "transform.position.value" or, if the expression is referring to its own property as in your example, simply use "value" by itself to achieve posterization of the pre-expression keyframed values.
Thanks again for reporting this bug,
- John, After Effects Engineering Team