Particle Skinner - Shell Fragments

by John Rand from a scene file by Jeff Lim

Scene File: Max9_ParticleSkinner_ShellFragments_Finished.max

This scene contains two primitive geometry objects, a box and a teapot, along with a second copy of each. You will be shattering these objects with the help of Particle Flow Box#2 and the Particle Skinner Modifier.


Part 1 - Setup and Fragmentation of the Box


Open the file Max9_ParticleSkinner_ShellFragments_Start.max

Hide the objects "Teapot_Emit" & "Teapot_PSkinner" - we will use these in part 2


Open Particle View (Keyboard Shortcut 6) to create a new particle flow system.

  • Create a new Empty Flow - this flow will be used to create our base emitter object
    1. Right-Click the Container and Rename to "PF Emitter - Box"
    2. Set the Viewport Quantity Multiplier to 100%
    3. Set the Viewport Integration Step to Half Frame
  • Add a standard Birth operator
    1. Set the End Time to 0
    2. Amount 50 - this will be the total number of fragment control particles
  • Add a Position Object operator
    1. Add the object "Box_Emit" to the Emitter Objects list
    2. Set the Location to surface
    3. Enable Separation, set the distance to 20.0 - we want to keep our control particles at a nice distance from each other
  • Set the Display operator to Dots - this will give you an idea where your control particles will be. Your control particles are what the Particle Skinner modifier uses to define control points

This completes your Particle Skinner control particles setup


We now need to set up the Particle Skinner object for the Box

Select the scene object "Box_PSkinner"

  • Add a Subdivide modifier and set to 6.8 - we need more faces on the geometry
  • Add a Particle Skinner modifier
    1. Add the "PF Emitter - Box" to the Particle Flow Systems list
    2. Set the Distance Influence to Absolute - 50.0
    3. Set the Rip Surface Apart Type to Binding Break
      • Set the Edge Split Precision to Relative% with a value of 100.0
  • Add a Shell modifier
    1. Inner Amount - 1.0
    2. Outer Amount - 0.0
  • Go back the the Particle Skinner modifier and Activate Skinning


In order to get more consistent timeline playback with Box#2 we will adjust the Playback Settings. It is recommended that you always use this setting when using Box#2 dynamics

Open the Configure Time Dialog, either press the Time Configure button or right-click the play button

Disable Realtime in the Playback group


Setting up the Particle Skinner fragment dynamics is a breeze

Open Particle View (Keyboard Shortcut 6) and select the "PF Emitter - Box" source node and shift+drag copy it

  • Rename the source node "PF Break - Box" - or something similar so you know what the flow is for
  • Add a new Birth Group birth event
    1. Add the "Box_PSkinner" scene object to the Particle Objects list
    2. Enable Object Elements in the Separate Particles for: group box
    3. Press the Update Particles From Objects button - this refreshes the operator
  • Add a PhysX Shape modifier
    1. Set the Collide As: type to Convex Hull - this is best for odd non-uniform shapes
    2. Make sure the the Weld Threshold and Inflate Width are set to 0.01 - we want to minimize the shape creation
    3. Check that the Shape Interpenetration Tolerance is set to 0.01
  • Add a new PhysX World operator, create a new Driver, and hit the Access Driver Parameters button to bring the driver up in the modify panel
    1. Enable Gravity
    2. Set the Acceleration to 980.665 - if it isn't already - this is the default "real" world gravity value
    3. Enable the Ground Collision Plane
    4. Set the Subframe Factor to 8 - we want a little more accuracy than the default of 2
  • Set the Display operator to Geometry


Hide the Box_emit and the Box_PSkinner objects

Play the Animation


Part 2 - Breaking the Teapot


Unhide the Teapot_Emit and Teapot_PSkinner objects


You may now either repeat the above steps using the Teapot instead of the Box or...let's take a shortcut

Select both flow in the Particle View

  • Shift+drag to copy the selected flows
  • Rename "PF Emitter - Box01" to "PF Emitter - Teapot"
  • Do the same for "PF Break - Box01" to "PF Break - Teapot"
  • In event03 of the "PF Emitter - Teapot" flow Position Object operator replace the Box_Emit with the scene object Teapot_Emit
  • In event04 of the "PF Break - Teapot" flow Birth Group operator replace the Box_PSkinner object with the Teapot_Pskinner object and refresh the particle shape with the Update Particles From Objects button


Next we will setup the Particle Skinner system for the Teapot

Select the scene object "Teapot_PSkinner"

  • Add a Subdivide modifier and set to 4.0
  • Add a Particle Skinner modifier
    1. Add the "PF Emitter - Teapot" to the Particle Flow Systems list
    2. Set the Distance Influence to Absolute - 40.0
    3. Set the Rip Surface Apart Type to Binding Break
      • Set the Edge Split Precision to Relative% with a value of 100.0
  • Add a Shell modifier
    1. Inner Amount - 1.0
    2. Outer Amount - 0.0
  • Go back the the Particle Skinner modifier and Activate Skinning


Hide all of the base geometry objects


Play the Animation