Two days ago we discussed how to build a paint preset that used an embedded MSG preset to build a MSG Brush Load paint nib, and then use the Evolution Editor to evolve new paint presets based on MSG on the fly during live painting. Today we will take a look at a different way to embed a MSG preset in side of a Paint Preset. We’ll look at building a MSG Live Source Brush paint preset from scratch.
There are 2 parts to building a MSG Live source brush paint preset from scratch. First, you either need to design or pick an appropriate MSG preset that will work well as a live source brush for painting. Second, you need to then build a paint preset that appropriately embeds the MSG preset you want to use as your MSG Live source brush for painting.
Building the MSG Preset
The gallery below shows off the simple MSG preset I hand built for this particular example. It’s based on a PickoverChaosGen processor. This processor generates a black and white image of a chaotic attractor, which is a kind of fractal.
The first 2 gallery images above show off the IO (input-output) routing associated with the 2 processors that make up this simple MSG chaotic attractor preset. The first PickoverChaosGen processor only has an output port, which is routed to the ROut image stream. the 2nd gallery image shows that a 1to3 processor is used to then route it’s In port (ROut) to it’s 3 color output ports (Out R,Out G,Out B), which are attached to the 3 MSG output image streams (ROut,GOut,BOut). This 1to3 processor is used to convert a single black and white image stream to the 3 color output streams necessary for a MSG preset while still outputting a gray-tone color image.
The 3rd gallery image shows off the individual editable parameters associated with the PickoverChaosGen processor. Note that I have attached a temporal generator (TG) to the editable Angle parameter. The particular TG modulator I picked is the Pen Orientation modulator.
Normally you would use this with a Wacom pen and tablet, where the pen tilt orientation would provide the interactive modulation. But I will use a special paint synthesizer editing trick to route the source image orientation to the tilt orientation for auto-painting, which will allow me to use the source orientation to modulate the Angle of the chaotic attractor image during auto-painting when the MSG preset is used as an embedded MSG Source Brush in a paint preset.
The 4th gallery image shows what kind of canvas output you would get if you just run the MSG preset. And the 5th gallery image shows some mutated variations of the MSG preset in the Evolution Editor. Note that I set the Randomization control at the top of the Evolution Editor to 10%, so that mutated variants are only slightly modified with each random mutation. The visual output of chaotic attractor processors are often highly sensitive to the adjustable parameters that make up the particular chaotic attractor. Reducing the amount of randomization during Evolution Editor mutation is a way to generate a more controlled evolution session for this kind of effect.
Embedding the MSG Preset in a Paint Preset Designed from Scratch
Since I wanted to design my paint preset from scratch, I used the integrated Help Browser to go to the Paint Synthesizer Macro Edits help page (as shown below in the first gallery image). Note that I pressed the Reinitialize active command link (the triangle button to the left of the command name) to reinitialize the paint synthesizer to a default condition. The default reinitialization is a very simple solid color paint preset, that is easy to use as a known starting point for building up a more sophisticated paint effect.
The 2nd gallery image below shows off the simple painting behavior of the default reinitialized paint synthesizer.
Since I was interested in building a paint synthesizer preset based on using the MSG preset we designed above as a custom MSG Source Brush, I first went to the Brush Source control panel. The 3rd gallery image above shows the default settings in the Brush Source control panel. I then edited the Source parameter from Computational to MSG Live. I also changed the Horizontal and Vertical Size from 32×32 to 64×64 pixels.
My finished Brush Source control panel settings are shown in the 4th gallery image above. The 5th gallery image above shows off the simple painting behavior of the paint preset at this point in the editing process. Note that the individual brush nibs are now little images of the chaotic attractor generated by the custom MSG preset we built above (as opposed to the solid spheres generated by the original Computational source brush settings).
Looking at the Paint Fill Setup control panel (6th gallery image above), both the Fill From and the Fill To parameters were set to Paint Color by the reinitialize command. This gives the very hard solid paint nib appearance in the 5th gallery image above. I wanted to generate a softer paint nib, where the gray levels inside of the chaotic attractor image would fade to the canvas as opposed to being filled with solid paint color. So I changed the Fill To control to the Canvas Image setting, as shown in the 7th gallery image above.
Remember, solid black in the source brush maps to the Fill From coloring, and an almost white value of 254 maps to the Fill To coloring, and everything in between blends between the 2 colorings due to the Fill Option being set to Blend. Any source brush pixels that are solid white (255) are masked out. I took this behavior into account when designing the MSG preset I wanted to use for a MSG source brush. Chaotic Attractor generators work nicely as source brushes because they have defined grayscale shapes on a solid white background.
I wanted to paint individual single paint nibs for each paint stroke, as opposed to multiple paint nibs laid out along a path like in the 5th gallery image above. So I went to the Path Shape control panel, and changed the Max Path Length parameter setting to 1 (8th gallery image above). This setting means that only a single paint nib will be drawn for each individual paint path.
I then pressed the Action button, and auto-painted a source image of a woman’s face for a few seconds. the result is shown in the 9th gallery image above. Note that all of the individual paint nibs have the same original orientation as the original MSG preset. Used this way, I might just of well have output a single black and white attractor image, and used an image source brush.
But the whole point of the MSG Live source brush is that the MSG preset is run live to generate each individual paint nib. This means that temporal generators (TG) can be used to dynamically modify the appearance of the MSG preset output and subsequent MSG Live source brush in real time while painting.
As your may recall from our initial discussion above when we generated the chaotic attractor MSG preset, I used a Pen Orientation temporal generator modulator and attached it to the editable Angle parameter for the PickoverChaosGen processor. At that time, I said I would use an editing trick to map the source orientation into the pen orientation TG modulator.
If you have a Wacom Intuos pen and tablet with built in tilt orientation modulation, try doing some hand drawing at this point while changing the pen orientation, and note how the orientation of the painting chaotic attractor source brush also changes in real time with the pen orientation.
The 10th gallery image shows off the paint synthesizer editing trick I used to route the Source Image Orientation into the pen orientation TG modulator for auto-painting. Note that the Auto Tilt Orient parameter in the Miscellaneous control panel has been set to Image Orient (it was originally set to Fixed Max, so you will need to make this editing change). Making this single editing change results in the visual auto-painting appearance shown in the 11th gallery image. Note that the individual chaotic attractor paint nibs now are painted with varying orientations, that are modulated based on the source image orientation.
The Miscellaneous control panel provides auto-painting defaults for pen pressure, tilt, and tilt orientation (via the Auto Pressure, Auto Tilt, and Auto Tilt Orient parameter settings). The reason we provided this feature is that many paint presets use things like pen pressure or tilt orientation to vary the painting behavior of a paint preset, but when auto painting you typically aren’t using the Wacom pen. So these parameters provide automatic generated modulation signals that replace the pen pressure, tilt, and tilt orientation when auto-painting is taking place. Provided the Wacom pen is not hovering in active proximity of the tablet. Wacom tablets can sense a pen floating above the tablet in proximity (that means close to the tablet surface without actually touching it), and send tilt and tilt orientation signals that can be used for interactive control during auto-painting. Obviously pen pressure is not going to do anything while hovering the pen above the tablet.
Using the Auto Pressure, Auto Tilt, and Auto Tilt Orient controls in the paint synthesizer allow all kinds of interactive modulation to be routed via TG pen modulators to active MSG presets that are embedded inside of paint synthesizer presets. So this is the editing trick we talked about that allows for many additional kinds of TG modulation than you would initially expect (as long as the MSG preset is being used embedded inside of the paint synthesizer.
Again, the reason why the MSG Live source brush is Live is because each individual paint nib is calculated by actively running the MSG preset to build a dynamic source brush. In this example, we only dynamically changed the orientation of the MSG Live source brush. But we could do much more, which we will explore in tomorrow’s post.