modo bubbble logo

Dynamic Replicator

Home >> Layout & Simulation >> Item Reference >> Dynamic Replicator

back next

The 'Dynamic Replicator', when connected to a 'Particle Simulation' and a 'Replicator', will allow the spawned replicas to act like 'Active Rigid Bodies'. This can be useful for a number of cases, such as filling up a large container of objects, or really just anywhere that large numbers of dynamic items are required.


Creating a Dynamic Replicator is done by first creating a Particle Simulation of some sort. This can be using any of the various emitter types available. Next a Replicator will need to be created, this can be added in the Items list using the 'Add Items' function under the "Particles > Replicator" menu. Once added, the Particle Simulation should be designated as the 'Particle Source' in the 'Replicator' Items Properties panel, and the target 'Mesh Item' (or a 'Group' of Items, for variations) designated as the 'Prototype' option. Once defined, the Replicator item itself will need to be selected in the 'Items List' and then in the 'Dynamics' toolbox, tagged as a 'Active Rigid Body' by LMB+clicking the toolbox button of the same name. This action adds a 'Solver Item' (if not already present), and the 'Dynamic Replicator' item to the scene. Selecting the 'Dynamic Replicator' in the items list shows the following attributes in the 'Properties' viewport panel--

Ground PlaneName: This data field displays the current item name. Users may easily change it by LMB-clicking within the field and typing the new name.

Dynamic Replicator--

State: The 'State' option determines how the spawned dynamic items are evaluated for collisions. 'Dynamic' means that they will be treated like 'Active Rigid Bodies', with inter-object collisions as well as collisions between other dynamic items. 'Kinematic' means that they will be treated like 'Kinematic Rigid Bodies'', no inter-object collusions between elements within the same Replicator, but will collide with other dynamic objects in the scene, acting on them much like a 'Force' does.


Collision Shape: This setting defines the shape that will be used to calculate collision contacts between both replicated elements and other dynamic objects within the scene. Generally users will want to choose the simplest shape that produces satisfactory results. The default collision shape is set to 'Hull' which generally balances accuracy with calculation speed.
Box- A rectangular box defined by the bounding box of the geometry's maximum extents.
Sphere- A sphere that is sized to encompass all the geometry of the object.
Hull- The default collision option 'Hull' creates the smallest convex volume that encompasses all the points in this mesh. To visualize it, imagine the mesh enveloped in shrink-wrap. The 'Hull' collision type does not support holes or indentations in the object. While only approximating the items shape, it will provide very fast collision detection on complex shaped objects.
Mesh- Uses the actual mesh of the object for calculating collisions. For Subdivision Surfaces models, the actual frozen SubD cage is used. This option should be avoided on 'Dynamic' Rigid Bodies (it is OK for 'Static' and 'Kinematic'). When used otherwise performance, as well as simulation stability can suffer negatively.
Convex Decomposition- The 'Convex Decomposition' creates multiple Hulls (described above) and connects them together. This works to better approximate the actual shape of the geometry but can be costly to initially compute on complex shapes.
Plane- Generates a infinite ground plane collision shape originating from the center of the associated geometry's bounding box (not on the items actual 'center' position).

Bounce: This is the collision response when this object hits another dynamic object. A value of 0% means the object will not bounce or inherit energy from other dynamic objects it contacts. A value of 100% would inherit all of the energy from the contact object. Values above 100% will produce rubber-ball like effects where objects impart more energy from contacts

Friction: The amount an object will slide against another object. A value of 0.0 would offer no resistance, while a value of 1.0 would keep the object from sliding entirely.

Margin: The 'Margin' value helps the bullet engine to better determine collisions, as well as improves its performance and reliability. The 'Margin' value defines a gap around the object used to detect a collision contact. In most cases it should be kept at its default value. When used with the 'Mesh' and 'Convex Decomposition' settings this can offset items away from each other, so only a small amount is necessary. Note that a setting of '0' (zero) may produce errors in collision detection.

Time Until Collision: This option determines the point in time from when the Replicator item is created until when collisions are actually calculated for the object. This allows the object to spawn without causing immediate collision issues. Time is defined by frames.


Mass Source: When the 'Mass Source' is set as 'World Density', the mass of an object is calculated by multiplying the calculated volume of the dynamic item by the 'Global Density' value defined on the Dynamics Solver item. Users can override that value by setting the 'Mass Source' to 'Local Density' or 'Local Mass' and expressly setting a value.

Density: Density is the measure of the amount of matter in any given volume. If the 'Mass Source' option is set to 'Local Density', this is the density value that will be used. The mass of the object will be determined by multiplying the computed volume by this value.


Particle Emit Group: When a 'Particle Emit' Group' item is defined (either a 'Group' of dynamic items or a single other dynamic item), the dynamic item will emit a particle at the contact point when it collides with the defined item(s). This option requires an additional connection (in the Schematic viewport) to the Dynamic Collider item.


When following the procedure outlined in the 'Usage' section, the 'Dynamic Replicator' item is added to the scene automatically when the 'Replicator' item is tagged as an 'Active Rigid Body'. Users wishing to work in a more Schematic-centric workflow can manually add the 'Dynamic Replicator' item to the Schematic viewport using the Items List's 'Add Item' button, selecting the "Other > Dynamic Replicator" option from the pop-up menu. Then using drag-and-drop, the item can be added to the Schematic viewport. A 'Solver' will also need to be manually added, if not already present. This can be added from the menu bar "Dynamics > Add Solver". This item will also need to be added to the 'Schematic' viewport.

In the Schematic view, the 'Dynamic Replicator' will then need to be connected to the 'Solver' under its 'Dynamics' input, and connected to the 'Particle Simulation' as an 'Operator'. Lastly, the Item (or 'Group' of Items) will need to be connected as the 'Prototype' on the 'Dynamic Replicator' itself. This completes the necessary connections for a basic particle simulation. For more information on working with nodes and the Schematic Viewport, please reference that page of the documentation.



back next