Use the mParticles Shape operator to define the particle shape for collision purposes during a physics simulation. Along with the mParticles World operator, the mParticles Shape operator is necessary in order to have a simulation. Also, place the mParticles Shape operator after the Shape operator in the event.
Note: In general, place all mParticles operators above an mParticles World operator in an event, so the MassFX properties defined by the operators are known to the simulation engine before the simulation cycle starts.
See also PFlow Collision Shape (WSM) Modifier.
Interface
- Collide As
- Specifies the shape to use for collision purposes during the simulation. The choices are:
-
Box This is the simplest shape, so it allows for the fastest simulation, at the possible cost of accuracy. In many cases, you can get away with using the Box shape for testing the simulation, but should then switch to one of the others for the final rendering.
-
Capsule Uses a capsule shape.
-
Convex Hull Creates a bounding mesh that is close to the particle shape without permitting any concave surfaces, such as the area between the top surface of the teapot spout and the teapot.
-
Sphere Uses a spherical shape for collision.
Note: Like the particle shape, the collision shape specified here persists throughout the particle flow, even when particles move to other events. Also, the collision shape, once defined, cannot be altered by a different mParticles Shape operator in a successive event.
- Display As
- Specifies how to display the Collide As shape. The choices are:
-
None The collision shape is not displayed.
-
Shaded The collision shape is displayed as a shaded mesh; this is visible only in shaded viewports. In wireframe viewports, the shape is displayed as a wireframe.
-
Wireframe The collision shape is displayed as a wireframe in all viewports.
Collision Shape Size group
This group is unavailable when Collide As is set to Convex Hull. In that case, use the Convex Hull Generation group settings instead (see following).
- Conform To Particle Shape
- When on, automatically sets each collision shape to fit and align with its particle. When off, you can use the remaining controls in this group to specify the collision-shape dimensions explicitly. The available controls depend on the Collide As setting:
- Radius/Width/Length/Height
- For Box, set the Width, Length, and Height; for Capsule, set the Radius and Length; and for Sphere, set the Radius.
- [Scale Type]
- You can set scaling as a percentage of the explicit dimensions, or based on an existing scale value in the event:
-
Scale % Acts as a multiplier of the existing dimensions. So, for example, with the Box setting, you can set the proportions with Width/Length/Height, and then the actual size with Scale %.
-
Use Shape Scale Factor Adjusts the scaling of the collision shape based on a scaling value earlier in the event, such as the Scale % setting in the Shape operator.
Convex Hull Generation group
This group is available only when Collide As is set to Convex Hull.
- Weld Threshold
- Use this setting to reduce the mesh resolution of the collision shape by welding the particle-shape vertices together.
- Inflate Width
- Increases the shape evenly on all side by envelope layer.
- Scale Margin %
- To speed calculation of the convex hull for particles with different shapes and/or sizes, mParticles Shape can batch particles with close scale values into groups, and calculate the convex hull data once per group with similar scale value. The Scale Margin setting defines the scale difference for particles to be in different groups.
Bounce and Friction group
Note: These settings determine how particles interact with other elements in the simulation (other particles, deflectors, the ground), so are meaningless in isolation. To determine the actual value for an interaction, the software takes the average of the properties of the interacting elements.
- Restitution
- The amount of energy each particle retains after a collision. Typically this produces a bouncing effect. Setting this to 1.0, the maximum value, potentially results in a condition that satisfies Newton's third law: To every action there is an equal and opposite reaction.
When Restitution is close to 1.0, the bounce effect is pronounced, but as a result, not much energy is dissipated during a collision, and the dynamics solution might lack stability. Use values close to 1.0 at your own risk: when you have a small number of colliding objects, and they don't bundle together.
For a video showing the effects of the Restitution value, see Restitution.
- Static Friction
- The force that resists motion between two non-moving surfaces (particles and the ground or other particles).
For a video showing the effects of the Static Friction value, see Static Friction.
- Dynamic Friction
- The force that resists motion between two moving surfaces (particles and the ground or other particles).
For a video showing the effects of the Static Friction value, see Dynamic Friction.
- Mass
- Particle mass can be defined explicitly by a value that you specify, or as a density, in which case each particle's mass is determined by the product of its volume and the specified Density value. Also, particle mass can be calculated by a Data Operator, which lets you define particle mass on per-particle basis. To define (and read) particle mass with a Data Operator, use the Output mParticles and Input mParticles suboperators.
Note: While you can animate the Value or Density setting for particle mass, this does not cause particle mass itself to change during the animation. Rather, the current setting when a particle enters the event containing the mParticles Shape operator determines its mass throughout the event. To animate particle masses within an event, use a Data operator in the event containing an
Output mParticles suboperator set to the Mass option, and set Mass to From Mass Channel (see following).
Choose a method for determining particle mass:
-
By Value Specifies the mass of each particle explicitly, regardless of size.
For videos showing the effects of the By Value option with Force Type set to Uniform and Surface, see Mass: By Value.
-
By Density Uses the Density value as a multiplier of the particle volume, so that larger particles have greater mass.
For videos showing the effects of the By Density option with Force Type set to Uniform and Gravity, see Mass: By Density
-
From Mass Channel You can define particle mass per particle with a Data operator. To define (and read) particle mass with a Data operator, you can use Output mParticles and Input mParticles suboperators.
Shape Interpenetration group
Specifies the degree to which particles can interpenetrate before collision is detected.
- Tolerance
- The distance by which particles can interpenetrate. Two particles will interpenetrate by the sum of their Tolerance values. If your simulation jitters, increasing the Tolerance value might improve the animation.
For a video showing the effects of the Tolerance value, see Tolerance.
- Generate Data Channel
- To define the Tolerance parameter on per-particle basis, turn on Generate Data Channel and use a Data operator with the Input mParticles and Output mParticles suboperators set to use the Interpenetration Tolerance option. Also, with a Data operator you can animate the Tolerance value by animating (changing) the data-channel values.
- Collision Group
- Use this setting for collision exclusions, as explained in the mParticles World Helper topic.
For a video showing the effects of the Collision Group value, see Collision Group.