modo bubbble logo

Replicators


Home >> Scene Layout >> Replicators

back next
comment balloon Comments (2) RSS Icon
0/5 (0 votes)

Simons Forest

A Replicator is more like a controller than an item, unlike all the other items which have visible representations in the scene (OK, except for the Group Locator), Replicators are only visible once their 'Prototype' and 'Point Source' option have been populated. Once defined, the Replicator then controls how duplicates of the item are copied onto the surface. Replicators are also unique in that they require these additional elements to function. The 'Prototype' is simply any mesh layer within the given scene. The 'Point Source' defines the positioning of the clones; by default the center position of the initial mesh layer will be positioned precisely at the location of each vertex in the point source item, so while users don't have direct control over the positions of Replicated meshes (like with Instances) users can indirectly control their position with the point source.

Creating Point Sources

Point Sources can be any mesh layer, so any of the ways that users can create geometry can be used to create point sources. This could even be something as simple as a flat plane created using the Box tool. If someone were to apply a replicator to a single poly plane, they could easily see that there were four replicas at each corner (vertex position) of the polygon. In order to get additional replicas, the polygon would require additional subdivisions. This can be achieved by increasing the 'Segments' option found in many of the primitive geometry tools, or after the fact by simply applying the 'Subdivide' command found in the "Mesh Edit" sub tab of the modeling toolbox. If someone were to sculpt this now subdivided plane, adding hills and valleys, the replicas would still be positioned at each vertex, but instead of facing upward normally, they would now each align themselves to the normal direction of the background vertex (which is an average of the normal direction of all the surrounding polygons) following the contours of the surface. This indirectly allows users to control position and to a degree rotation by simply using the shape of the point source geometry. Virtually any kind of geometry modo creates can be used as a point source, including the various Curves. Once users have good understanding of how Point Sources work with Prototypes to clone replicas, then generating them becomes an easy task.

Tip icon

TIP: Replicators align the Prototype mesh's 'Center' to the vertex position of the Point Source. Therefore users need to make sure the Prototype geometry is positioned appropriately in relation to its Center. By default this is the World 0,0,0 position for each layer. Users can easily align the Center in relation to the geometries bounding box using the 'Center to Bounding Box' commands found in the 'Edit' menu. User may also manually transform the Center while in Center Selection mode. For more on working with Centers, see the documentation page on Selection Modes.

Creating Replicators

Replicators can be created like any item in the scene by using the 'Add Item' function of the items list. Users can LMB+click to open the 'Add Item' menu and select the "Duplication > Replicator" option. This adds a blank Replicator item to the item list. User can then manually populate the 'Point Source' and 'Prototype' fields with the appropriate items. Users can also automatically populate these options using selection order. Select the item that will be the 'Point Source' first in the 'Items' list or 3D viewport, and the 'Prototype' item second. Then use the menu bar command "Item > Replicators > Add Replicator". Once invoked, users will nearly instantly see their geometry cloned onto the source item.

Adding Randomness

Generally, most geometry, especially that created using Primitives, when utilized as a point source produces replicas that users may find too regular. In some cases this geometric uniformity to the positions can be desired, but in most cases, more natural random placements will be the goal. Users can use the 'Variation' settings of the Replicator itself to randomize the positions as an offset from the vertex position. Adding in some Scale and Twist (rotation) randomness will help to reduce the uniformity of the replicas as well.

Users can introduce randomness by starting at the Point Source level. When fine control over replicas isn't necessary, users can utilize what is known as a point cloud. Point Clouds are collections of vertices, with no edges and no polygons. These could be useful Point Sources for splashes of water droplets, or exploding shrapnel. Before users can create a point cloud they'll need to enable their view as they are disabled by default. This can be done by opening the viewport options panel, press 'O' while hovering the mouse over the target 3D viewport. Then pressing the 'Visibility' subtab and then enabling the 'Show Vertices' option. Users can then draw individual vertices using the 'Vertex Tool', or better still, create some geometry using a primitive tool, such as the Sphere, and the utilize the 'Remove' command to eliminate all the edges and polygons leaving behind only vertices. Then users can use the deform tools to push and pull vertices into position. The 'Jitter' function is also a great way to further randomize the point source. Point clouds are assigned as Point Sources in the same way as any other mesh layer in the Replicator item.

Surface Generators

Sometimes randomizing the Point Source isn't desirable or viable so modo has another option to help randomize placement called a 'Surface Generator'. Surface Generators work as shaders in the Shader Tree generating controlled random placements of points over a surface and then utilizing the normal direction of the surface itself to align the replicas. Surface Replicators have several benefits outside of randomizing placements. First, they are shader tree 'aware' meaning they will take in to account Shader Tree settings such as Displacement layers where normal Replicators do not. Secondly, since they are shader tree layers themselves, they can be affected by the other layers, including being masked by the Group item. When used as such, their application can be limited to a specific surface or area of a mesh and can also be controlled by image layers for options like Density, Alignment, Size and Color.

For custom created point clouds, that provide all sorts of interesting options,users can add a Surface Generator manually to the Shader Tree by using the 'Add Layer' function. LMB+clicking on the menu and selecting the "Special > Surface Generator" option. This can be created in an existing Material Group item. Users should remember that in order to work properly, the point source mesh will need to be properly tagged with the appropriate polygon tag defined in the Material Group. Users will also need to make sure the Surface Generator is defined as the new Point Source in the Replicators properties. A much easier way to create a Surface Generator would be to simply RMB+click on the Replicator item itself opening the context menu and choosing the 'Scatter Replicas' command. This automatically creates an Item mask in the Shader Tree for the Point Source item and adds the Surface Generator to the Group, appropriately specifying it as the Point Source.

To apply Image Maps or Textures to control the Surface Generators, users only need to apply the texture to the same Material Group as the Surface Generator itself, and then set the layers 'Effect' to the appropriate option. The various 'Effects are documented on the 'Effect - Texture Item' page of the documentation. For more on adding a working with Shader Tree layers, please see that page of the documentation.

Working with Groups

Another way users can add a great amount of believability and realism to a scene when using Replicators is to replicate more than a single mesh. This can be done easily by collecting multiple elements into a Group and the Replicator will then randomly grab members of the group when placing individual clones. Not to be confused with items parented to a Group Locator, to create a Group, users need to first open the Groups viewport. Within the viewport, LMB+click the 'New Group' button and define a new Group. Then, while in 'Items' selection mode, users can either select and drag-and-drop elements from the 3D viewport onto the newly created Group, or select the items in the 'Items List' and then RMB+click on the named group in the Groups viewport to open the context menu and then select the 'Add Items' option. After the group is created, users need to define the named Group as the 'Prototype' source in the Replicator itself. modo will then randomly grab grab one of the items specified in the group for each replica. This can be a great option for applying rocks and plants to an outdoor scene, or trees to a forest scene.

Tip icon

TIP: Users can control the percentage that a group member is used by cloning the elements. For example, if the Group contains 9 red spheres and 1 blue cube, the blue cube only appear approximately 10% of the time across the surface.

Animating with Replicators

Many users may not know that is is also possible to replicate animated items as well. These animations can be either through keyframes, or via deformers. To specify an animated item as a Prototype, users will need to ensure the item layers are properly set up as a hierarchy, and then will need to specify the top most parent item as the prototype in the Replicator. Then enabling the 'Include Child Items' option will ensure all items in the hierarchy will be replicated as well. To add additional randomization, there are 'Time Offset' and 'Random Time Variation' options.

In order to animate the replicator itself, users can animate the settings of the Replicator and/or Surface Generator, or animate the Point Source directly. Users can apply normal keyframed position and rotation transforms to the point source, but will find that scaling will also scale the replicas themselves. In order to scale the point source properly, users will need to add a morph to the item and then animate the morph over time. Please see the Morph Deformer for more on applying and animating a morph.

 

Freezing Replicators

Replicators are all well and good if you intend to keep your geoemtry within modo, however, there are times when you need to export your geoemtry out to an external application, or possilby you just need control of over the placement of a few individual clones, so modo offers the ability to convert Replicators to 'Instances' with the command 'Convert Replicators', found in the menu bar, under the "Item > Replicator > Freeze Replicator" menu. Users merely need to select the Replicator item in the Items list and invoke the command. Once finished, the Replicator will have been removed from the Items list and replaced with a Group Locator that contains all the instances of the original Replicated object. Users may now select specific Instances and affect them individually.

The 'Freeze Surface Generator' provides similar functionality, converting a 'Surface Generator' item in the Shader Tree to regular Mesh Item of the same name with individual vertices for each replicator position. Invoking the command from the menu bar "Item > Replicators > Freeze Surface Generator" converts the Item layer to a same named Mesh Item of single point polygons. Users may need to enable th 'Vertices' display in the 3D viewport in order to see the indvidiual point when unselected. This allows users the ability to affect individual points without resorting to Image Map masks and other workarounds.

 

comment balloon Comments (2) RSS Icon

Dino Zanco April 13, 2012 at 9:55 PM

Training movie (Andy Brown): my account > Install Content > 601 Spotlight Videos > Replicator Enhancements

Dino Zanco May 4, 2012 at 5:18 AM

Quick Tips (Tab inside modo): -Fun with Motion Graphics
(both the examples use a Replicators)

Top

back next