For the last 2 days we’ve explored generating paint animation based on a paint synthesizer preset that incorporates an embedded MSG preset that directs the paint synthesizer to auto-paint a dynamically evolving chaotic attractor. The embedded MSG preset uses temporal generators to procedurally modulate editable parameters associated with the generation of the chaotic attractor shape over time in the animation.
Today we’ll revisit generating paint animation from this embedded MSG paint preset with a totally different approach, by incorpoating it into a DualMode Paint preset running live in loop action mode streaming into an open movie stream.
DualMode Paint is an operation mode in Studio Artist. It allows you to build paint effects that incorporate live image processing directly into the auto-paint process. You can work with live image processing, texture synthesizer, MSG, or interactive warp processing that is interleaved into the paint synthesizer’s auto-paint process.
So you can think of DualMode Paint operation mode as a way to combine together 2 different kinds of presets into one interactive or automatic dynamic paint effect, that incorporates live painting and live image processing into one effect.
For today’s post we’ll use the same embedded MSG paint preset we’ve been working with for the last 3 days, with a few slight modifications. For today’s effect, I wanted the paint strokes painting in the chaotic attractor to be wider and at full 100% blend. So I increased the Horizontal and Vertical Size parameters in the Brush Source control panel to make the brush larger. And I set the Blend% in the Paint Fill Apply control panel to 100%.
Also, since I wanted to run the temporal generator procedural animation in loop action mode and have my individual loop cycles paint in fairly quickly, I went to the Path Start control panel and set the Max Stroke parameter to a lower value of 76. So every 76 paint strokes a new loop cycle will start when running the preset in loop action mode.
I then switched the operation mode from Paint Synthesizer Classic to DualMode Paint in the main operation toolbar. The Dual Op parameter in the DualMode Paint Editor allows you to choose the kind of interleaved image processing effect that will be run as a part of the DualMode Painting process. I selected the Ip Op option, which means that the current Image Operation mode effect settings are used for the DualMode Paint dynamic interleaved image processing effect.
The particular Ip Op effect I selected was the Displacement image operation effect. I set it’s controls so that the Ip Source (which was set to the Current Layer) acts to modulate the displacement angle and amount (see the Algorithm setting I used). I turned on the Smooth option, and used Mirror setting for the Edge Opt displacement symmetry at canvas edges.
Different Ip Op effects will produce different visual results when used in DualMode Paint presets. Some Ip Op effect work better than others for this kind of usage. Experimentation is the best way to get a feel for what will work well and what won’t. Usually you want something that mildly modifies the existing as opposed to radical visual transformations.
Loop Action Animation
For this particular example, I wanted to use loop action mode to live stream animation output (as opposed to building a PASeq an using an Action : Animate menu command to output my animation).
Movie Streams are an alternative approach to Action menu commands for generating movie file output from Studio Artist. You can output a movie stream or an image stream. Once you open a movie stream, you can manually or automatically write out frames to the open stream. This provides a lot of flexibility for different approaches to streaming live visual effect processing running in Studio Artist into an output movie file.
To open a new movie stream I used the File : Stream : New Movie Stream menu command. This menu command brings up a standard file dialog that lets you name your new movie stream. Once the movie stream is open, you could manually write frames if you wish (by using the File : Stream : Write Frame menu command or it’s command key equivalent). An alternative approach is to turn on a stream write flag menu so that frames are automatically written out to the open movie stream.
I used the File : Stream : Flags : Enable Write on Op End menu flag option. When this menu flag is checked, then every time a studio artist operation ends a frame is automatically written out to the open movie stream. For a live running DualMode paint preset, a frame will be written out after every interleaved image processing effect is run.
The paint synthesizer preset part of my new DualMode paint preset is using the embedded MSG paint synthesizer paint preset we used for the last 2 day’s paint animation examples. That embedded MSG preset had 2 temporal generators attached to it’s Angle and Angle Z editable parameters for it’s PickoverChaosGen processor.
If you look at the Path Start control panel in the image gallery above, you can see that the paint preset will loop every 76 paint stokes (Max Stroke setting). And the MSG TG Option parameter associated with the MSG Scan Generator is set to advance every Frame. When you run loop action, it simulates generating successive frames in an animation. So anything based on Frame modulation will increment every time a new loop starts when running effects in loop action mode.
So, the chaotic attractor painting will procedurally self-animate based on the 2 Ramp temporal generators that modulate the Angle and Angle Z parameters of the PickoverChaosGen processor in the embedded MSG preset used to drive the paint synthesizer auto-painting.
I used the Action : Run Loop Action menu command to start loop action. I then let the live processing run for awhile, streaming it’s results into an open movie stream. When I felt I generated enough paint animation for the example, I stopped loop action mode by pressing the space bar key. I then ran the File : Stream : Close Open Stream menu command to close the open movie stream.
The paint animation movie generated by the process described above can be seen here.
We said above that DualMode Paint operation mode allows you to combine two different operation mode preset together to build a single dynamic paint effect (paint synthesizer plus an image processing effect). So it’s like using 2 different presets at the same time. But since the paint synthesizer preset we are using in DualMode Paint contains an embedded MSG preset, we’re actually running 3 different preset effects at the same time when painting with this DualMode Paint preset.
In yesterday’s post, we talked about building animation via recursive overdrawing of a modified previous output frame. We built our PASeq processing script to generate the recursive processing effect. You can think of DualMode Paint as an easy alternative way to automatically build recursive paint effect. DualMode Paint presets by their very nature are over-dawing on a modified previous output image.
For more information on working with Movie or Image Streams check out this tip.