The Corona Pattern Modifier (CoronaPatternMod) can be used to cover a base object with a 3D pattern generated by repeating another object over the base object's surface.
Before you continue reading about the Corona Pattern Modifier, you can download an archive with example pattern geometry here. Feel free to experiment with it!
You are currently viewing Corona Pattern article in the Chaos Help Center, which explains the usage of the feature and provides some examples. You can also check Corona Pattern Modifier documentation at Chaos Docs.
How to use the Corona Pattern Modifier?
Please note that it is not possible to convert Corona Pattern base object into Editable Mesh.
Assign the modifier to the base object (the object which we want to cover with the pattern):
Pick the Pattern node (the pattern will be created by repeating this object):
A crop-box and UVW axes will appear around the Pattern node. It is worth checking the Pattern node's XForm, rotation, and scale, to make sure it will be distributed on the base object as expected.
The resulting pattern is tightly connected to the UVWMapping and texture coordinates of the base object.
Relation of Corona Pattern to UVW Mapping
Let's create a teapot and give it a material with a radial gradient in its Base color slot, for the best visual explanation on how CoronaPatternMod and UVWMapping relate to each other:
To make everything visually more understandable in the viewport, let's apply a UVWXform modifier and increase the texture tiling for the teapot.
Note that the object's UVW texture coordinates are modified, not the gradient map's ones:
Now each dot represents 1 texture space for the teapot. That means if CoronaPatternMod is applied, one Pattern node will be placed on top of each of the dots.
Let's apply the CoronaPatternMod to the teapot and pick the blue sphere as the Pattern node:
Note the Crop Box and UVW axes appearing around the sphere.
This is how the render currently looks like:
Note: The CoronaPatternMod modifier is applied only during rendertime.
You can further change the tiling parameters in the CoronaPatternMod settings:
Now when we know the basics, let's dive deeper.
Pattern height controls the local Z axis scale for the Pattern node. Changing it to 0.2, will result in spheres on teapot being 5 times squeezed in height:
Note that even if you scale the Pattern node in Z axis, no changes will happen, as the original XForm of the Pattern node is considered:
"Fit in world space" option can be used in such case to virtually reset the XForm of the Pattern node for CoronaPatternMod modifier. By default "Fit in object space" is used when CoronaPatternMod is applied.
Note how the spheres are "higher" again and that Crop Box size in the Z axis has changed to fit the scaled sphere.
In general, Pattern height parameter is the more convenient way of controlling the pattern node's Z scale.
Pattern offset parameter offsets the Pattern relative to the base surface, along its normal's direction. To understand visually better, let's create a plane and a torus, apply the torus as the pattern node to the plane, change the UV tiling to 10:
We can as well enable Render base object to see the offset effect better:
Render base object: Enabled
As we can see, with the default parameter of 1.0 for Pattern offset, the torus is placed on the plane with its crop box's bottom aligned to the plane. A value of 0 will place the torus midway the plane, with the Crop Box centered to plane vertically:
Pattern offset: 0.0
A value of -1.0 will place the torus below the plane:
Pattern offset: -1.0
Material and IDs
If we apply a material to the pattern node, Use pattern material option can be enabled for having the patterned geometry use the torus material:
Restrict on material ID option can be used to create pattern only on polygons with selected ID
As for the ID and UVW modes, first, let's modify the IDs on torus to make it sliced in 4 colors. Then apply a CoronaMultiMap with 4 different slots to torus material Base color, with Face Material ID option enabled.
With Use pattern material option enabled and "Id mode" set to Pattern object - IDs are taken from the Pattern node - we will have this result:
ID Mode: Pattern object
The patterned geometry is, same as the torus, sliced in 4 parts.
If we modify the base plane's polygon IDs and set the ID mode to Base object, the patterned geometry's color will depend on what polygon ID the pattern is formed on, taken from the Base object:
ID Mode: Base object
Note that the base object still has no material applied, but the IDs and colors are taken from it. If we disable the CoronaPatternMod modifier and apply the same material to the base plane, this is how it will look:
Same material applied to the Base object
So, even if there is no material applied to the base object, the IDs are taken from it as if there was a material applied. Enabling the modifier back this is how it will look - note that both the pattern node and the base object have the same material applied:
ID mode: Base object
Changing the ID mode to Pattern object we will see that the base plane is rendered as before but the patterned geometry is like the pattern node - the torus:
ID mode: Pattern object
The same principle is used for the UVW mode when there are maps applied.
Randomization may be achieved using Random offset and Random rotation parameters, which can also be stepped:
Random offset U from 0.0 to 1.0, Step: 0.0
Note that the Pattern geometry gets trimmed.
Random offset U from 0.0 to 1.0, Step: 0.5
No Random rotation
Random rotation from 0.0 to 360°, Step: 90°
Cosmos and Corona Pattern
A wide variety of ready-to-use Pattern objects are available right in the Cosmos assets.
To use any of these, open the Cosmos Browser from the host app and navigate to the 3D Models > Enmesh - Pattern section.
Some examples of CoronaPatternMod modifier use cases:
Check out the CoronaPattern playground thread on the forum for more!
You can check also Displacement, Scatter, and Pattern usage differences.