Introduction
Pastiche is a plug-in for Adobe After Effects CS6 or later, that allows you to fill a source layer with a collage of layers.
If the source layer changes over time, Pastiche is able to animate layers so that they morph from one collage to another.
Pastiche starts by finding a set of points in the source image among non-zero alpha pixels. The points are then converted to position, and used to compute scale, rotation, opacity, fill and stroke colors (for shape layers) of the collage layers. Every 2D layer of the composition is used to create the collage, except adjustment layers, null layers, locked or video disabled layers.
Note:
- There is a compatibility issue between Pastiche 1 and Pastiche 2, please read the troubleshooting section for more information.
Getting Started
For a quick test of what Pastiche does, you can follow these steps:
- Create a new composition
- Import a set of images (or create a solid and duplicate it many times)
- Create a circular shape with the Ellipse tool, and add Pastiche effect (Effects > Motion Boutique > Pastiche)
- Your composition should look like this:
- Click on the Create button, and turn visibility of the source layer off
- You should get something like this:
Note:
- A good practice would be to precompose the source layer, and make any change to the source in that precomposition.
- For correct results, the composition resolution factor must be set to 100% before executing Pastiche.
Parameters
Pastiche provides many parameters that help you to customize the look of the collage, from options that affect layers scale and rotation, to animation controllers such as keyframe velocity and temporal offset.
Source Layer
This parameter specifies which layer must be used as source for Pastiche. Typically you would select the layer to which the effect is applied (the default selection), but you can choose any other layer.
Transform
Pastiche affects the Transform properties of every 2D layer (ignoring adjustment, null, video-disabled and locked layers), by setting a new value or by adding a keyframe.
If you don't want to modify a specific transform, select the Ignore option in the popup.
When working in animation mode, it is often desirable to display the same collage during a couple of seconds (freeze/stop) before starting morphing into the next collage. You can do that using the Use Previous Value option: Pastiche will use the same Transform values than the previous ones, and the resulting collage will look identical.
If want to loop your animation so that the last key corresponds to the first key, you can select the Use First Value option for the last key. This option is available for each Transform property.
Position
This parameter controls the way layers are positioned over the source image. The following options are available:
- Grid: layers are arranged on a regular grid
- Organic: layers are arranged randomly, but positions are adjusted so they cover the source image mostly uniformly
- Radial: layers are arranged on concentric circles
- Random: layers are arranged randomly
- Stippling (Alpha): layers are pre-eminently concentrated over the most opaque areas
- Stippling (Luma): layers are pre-eminently concentrated over the darkest areas
- Use First Value: layers position is the same as the position computed for the first key
- Use Previous Value: layers position is the same as the position computed for the previous key
- Ignore: layers position is not keyframed
Note:
- If you use the Grid or the Radial option, you may notice a message in the Info Palette when the process is finished. This message indicates the number of empty cells (if any), meaning that there aren't enough layers in the composition to completely fill the grid or the concentric circles. To fill in empty cells, simply add more layers to the composition and run Pastiche again.
Position Options
When Stippling Alpha or Stippling Luma is selected, the following option is available:
- Stippling Precision: this parameter controls the number of iterations of the stippling algorithm. Default value is 10. Higher values generally produce better results but at the expense of extra computation time.
Scale
This parameter controls the way layers are resized when creating the collage. The following options are available:
- From Alpha: layers scale is controlled by the alpha value at the layer position
- From Inverted Luminance: layers scale is controlled by the inverse of the luminance value at the layer position
- From Luminance: layers scale is controlled by the luminance value at the layer position
- From Neighborhood: layers scale is computed automatically to make layers touch each other without overlap
- Random: layers scale is randomly chosen within user-defined range
- Use First Value: layers scale is the same as the scale computed for the first key
- Use Previous Value: layers scale is the same as the scale computed for the previous key
- Ignore: layers scale is not keyframed
Note:
- For all options (except for From Neighborhood), the minimum and maximum layer size can be specified using the Min/Max Size parameters.
Scale Options
The following scale options are available:
- Min/Max Size (px): these parameters allow you to set the minimum and maximum layers size in pixels. For instance, if From Luminance is selected for Scale, then the darkest pixels would produce min-sized layers and brightest pixels would produce max-sized layers.
- Prevent Overlap: this parameter allows you to prevent overlap between the collage layers.
For instance, say you have selected Scale > Random with Min and Max Size set to 10 and 100 respectively.
If a layer can't be resized to 70px whithout overlaping neighbor layers, then the random size will be chosen
between 10 and 70.
This option also supports rotation, which means that the overlap detection system takes into account the position, scale, and rotation of the collage layers.Note:
- To determine the size of a layer, Pastiche uses the layer bounds. It doesn't analyze pixel values of the collage layers. For instance, if a transparent 100x100px image contains only a 10x10px circle, its size would be considered as 100x100px.
- Exponential Scale: this parameter allows you to remap layers scale according to an exponential function.
- Rescale Factor: this parameter allows you to apply a global scaling factor on every layer. Scaling is performed once the collage has been created.
Rotation
This parameter controls the way layers are rotated when creating the collage. The following options are available:
- From Alpha: layers rotation is controlled by the alpha value at the layer position
- From Inverted Luminance: layers rotation is controlled by the inverse of the luminance value at the layer position
- From Luminance: layers rotation is controlled by the luminance value at the layer position
- Orient Towards Center: layers rotation is computed automatically to make layers point to the center of the source layer
- Random: layers rotation is randomly chosen within user-defined range
- Use First Value: layers rotation is the same as the rotation computed for the first key
- Use Previous Value: layers rotation is the same as the rotation computed for the previous key
- Ignore: layers rotation is not keyframed
Note:
- For all options (except for Orient Towards Center), the minimum and maximum layer rotation can be specified using the Min/Max Rotation parameters.
Rotation Options
The following rotation options are available:
- Min/Max Rotation: these parameters allow you to set the minimum and maximum layers rotation in degrees.
Opacity
This parameter allows you to control the transparency of the collage layers. The following options are available:
- From Alpha: layers opacity is controlled by the alpha value at the layer position
- From Inverted Luminance: layers opacity is controlled by the inverse of the luminance value at the layer position
- From Luminance: layers opacity is controlled by the luminance value at the layer position
- Random: layers opacity is randomly chosen within user-defined range
- Use First Value: layers opacity is the same as the opacity computed for the first key
- Use Previous Value: layers opacity is the same as the opacity computed for the previous key
- Ignore: layers opacity is not keyframed
Note:
- For all options, the minimum and maximum opacity can be specified using the Min/Max Opacity parameters.
Opacity Options
The following opacity options are available:
- Min/Max Opacity: these parameters allow you to set the minimum and maximum layers opacity.
Fill Color
This parameter allows you to control the fill color of the collage layers. This setting only works with shape layers. The following options are available:
- Custom Color: fill color is specified by the user
- Random Color: fill color is chosen randomly between Min Fill Color and Max Fill Color
- Source Color: fill color is controlled by the source color at the layer position
- Use First Value: fill color is the same as the fill color computed for the first key
- Use Previous Value: fill color is the same as the fill color computed for the previous key
- Ignore: fill color is not keyframed
Note:
- To use this option, the collage layers need to be shape layers with a Fill Color property.
Stroke Color
This parameter allows you to control the stroke color of the collage layers. This setting only works with shape layers. The following options are available:
- Custom Color: stroke color is specified by the user
- Random Color: stroke color is chosen randomly between Min Stroke Color and Max Stroke Color
- Source Color: stroke color is controlled by the source color at the layer position
- Use First Value: stroke color is the same as the stroke color computed for the first key
- Use Previous Value: stroke color is the same as the stroke color computed for the previous key
- Ignore: stroke color is not keyframed
Note:
- To use this option, the collage layers need to be shape layers with a Stroke Color property.
Color Options
The following color options are available:
- Outside The Source: this parameter acts when the layer position falls outside the source image. You can choose between Use Comp BG Color and Do Not Change Color.
- Fill Color: this parameter controls the fill color of the collage layers. It is enabled when the Fill Color > Custom option is selected.
- Min/Max Fill Color: these parameters define the minimum/maximum fill color of the collage layers. They are enabled when the Fill Color > Random option is selected.
- Stroke Color: this parameter controls the stroke color of the collage layers.
- Min/Max Stroke Color: these parameters define the minimum/maximum stroke color of the collage layers. They are enabled when the Stroke Color > Random option is selected.
- Color Interpolation: this parameter allows you to specify the color interpolation method. You can choose between RGB and HSL.
Layer Order
When enough points (non-zero alpha pixels) have been found in the source layer, they are converted to position values that are then assigned to the collage layers. This parameter controls the way Pastiche assigns points to layers.
You can choose one of the following options:
- By X: points are sorted by x-coordinate: the leftmost point is assigned to the first layer, the second leftmost point is assigned to the second layer, ...
- By Y: points are sorted by y-coordinate: the topmost point is assigned to the first layer, the second topmost point is assigned to the second layer, ...
- By Norm: points are sorted by distance from origin: the closest point to the origin is assigned to the first layer, the second closest point is assigned to the second layer, ...
- By Inverse Norm: points are sorted by distance from bottom-right corner of the comp: the farthest point from the origin is assigned to the first layer, the second farthest point is assigned to the second layer, ...
- By Distance from Comp Center: the closest point to the comp center is assigned to the first layer, the second closest point is assigned to the second layer, ...
- By Distance from Image Center: the closest point to the image center is assigned to the first layer, the second closest point is assigned to the second layer, ...
- Minimum Assignment: points are assigned to layers in such a way that the total distance between the current layer positions and the new positions is minimized.
- Random: assignment is done randomly
Note:
- When creating animated collages this parameter can greatly influence the look of the animation between successive collages. Don't hesitate to try different options for this parameter to see what best fits your composition.
Animation
By default Pastiche creates a single collage at current composition time. However, Pastiche also supports animated source and is able to create multiple collages at once. To achieve that, you can either specify the rate at which Pastiche must produce a collage, or add layer markers to indicate keyframing times.
Frames to Render
This parameter allows you to select one of the following render modes:
- Current Frame: creates a single collage at current composition time. If layers have keyframes, new keyframes will override the previous ones. When Force Keyframing is activated, keyframes are automatically added at current time (even if the property had no keyframes).
- Every X Frames (within work area): creates a collage at each interval specified by the Interval parameter. The composition work area controls the start/end times of the keyframing.
- From Layer Markers: creates a collage at each layer marker time.
Interval (frames)
This parameter specifies the number of frames between two successive collages.
For instance, if you have a source precomposition that contains a text layer whose source text is animated, say a keyframe every second (see image below), you would set the Interval to 30 (or whatever the composition frame rate is).
Force Keyframing
This parameter allows you to force the creation of keyframes when creating a collage. It is available only when the Current Frame render mode is selected.
Temporal Interpolation
This parameter sets the temporal keyframe interpolation by adjusting speed and influence of keyframe velocity. The following options are available (speed in/out is set to 0% for all presets except for Custom):
- Linear: influence in 0%, influence out 0%
- Ease In: influence in 33%, influence out 0%
- Ease Out: influence in 0%, influence out 33%
- Ease In and Out: influence in 33%, influence out 33%
- Punchy In: influence in 33%, influence out 100%
- Punchy Out: influence in 100%, influence out 33%
- Punchy In and Out: influence in 100%, influence out 100%
- Hold: creates hold keyframe
- Custom: allows you to set custom keyframe velocity
Speed and Influence
These parameters allow you to specify custom values for the speed and influence of keyframe velocity.
Spatial Interpolation
This parameter sets the spatial keyframe interpolation. The following options are available:
- Linear: layers travel along a straight line
- Elastic: layer positions are interpolated using an elasticity function that imposes a springy motion between keyframes
- Inner Half Circle: layers travel along an inner half circle
- Outer Half Circle: layers travel along an outer half circle
- Random Inner & Outer: layers randomly travel along an inner or outer half circle
- Random: layers travel along an arc whose radius is chosen randomly
- Step: layer positions are interpolated using a step function
- Zig Zag: layers travel along an outer half circle then along an inner half circle
- Custom: allows you to set custom values for out and in tangents
Springiness
This parameter controls the elasticity factor when Spatial Interpolation is set to Elastic.
In/Out Elastic
This parameter specifies where the interpolation must act. You can choose between In, Out or In & Out.
In/Out Tangent
These parameters control the length of the in and out spatial tangent vector. A value of 0% indicates a linear spatial interpolation, whereas 100% would produce a circular motion.
Offset (frames)
This parameter controls the number of frames between the first keyframe of the first layer and the first keyframe of the last layer in the collage. By default the offset is set to 0, which means that all collage layers start moving at the same time.
Offset Method
This parameter specifies the sort function used by Pastiche to determine the order of layers when offsetting keyframes in the timeline. The following methods are available:
- From Left to Right: the first layer to start moving is the leftmost layer in the current collage
- From Right to Left: the first layer to start moving is the rightmost layer in the current collage
- From Top to Bottom: the first layer to start moving is the topmost layer in the current collage
- From Bottom to Top: the first layer to start moving is the bottommost layer in the current collage
- Distance from Comp Center: the first layer to start moving is the closest layer to the center of the composition
- Distance from Image Center: the first layer to start moving is the closest layer to the center of the source layer
- Random: the order in which layers start moving is chosen randomly
Motion Blur
This parameter activates the motion blur switch for all collage layers.
Advanced
You normally would not need to change these parameters. However, in some occasions they may be useful.
Random Seed
Some parts of the plug-in call a random number generator. By default Pastiche uses a random seed for the generator. This produces a different collage at each execution. Deactivating the Random Seed option enables a Seed parameter that allows you to specify a custom seed.
Seed
The Seed parameter allows you to specify the seed of the random number generator. Each time Pastiche is executed, the same sequence of random numbers is used in the calculations.
Create Button
This is the main command that tells Pastiche to start working.
Remove Existing Keys
This parameter allows you to remove all existing keyframes before executing Pastiche.
Note:
- If there are a lot of keyframes to remove (e.g., thousands), this operation could take a long time. If you are in this situation, you could use the standard Undo command or you could select all collage layers, press U, and click on the stop watches to erase keyframes. Both of these methods will clear all Pastiche keyframes very quickly.
- If you want to easily remove/toggle/bake the expressions created by Pastiche (or any other expressions), you could use our MOBO_Utils tools.
Troubleshooting
If you import a project made with Pastiche 1, the values selected in the Transform > Position/Scale/Rotation/Opacity drop-down lists may differ from the values saved in the old project. Since we added new options to each list (ordered alphabetically), item indices in the new version don't necessarily match indices in the previous version. All other parameters are handled correctly.
If you detect a bug or have any questions about Pastiche, do not hesitate to contact our customer support team.
Please visit Motion Boutique website to be informed about Pastiche updates, tutorials, and more.