Shatterer Tool surface node

Shatters and animates pieces of geometries especially in Procedural Building Destruction

The Shatterer Tool is an user-friendly tool to shatter and animate shattering in a efficient and easy way especially in the simulation of Building Destruction.

Using Shatterer Tool - The Basic Workflow

The user that wants to develop a scene with the Shatterer Tool has to be follow some easy rules to make it work properly

1. create a 2D grid

2. import it into the shatterer tool
3. position the cutter

4. add the internal points

5. perform the cutting and the shattering

6. pass on the Dynamics Manager or the Output
7. if passed to the Dynamics, set up the motion in auto or manual mode
8. in manual mode position the bombs

9. simulate the shattering

Tips

  1. Once the HDA has been imported one or more grid have to be placed with in mind how the final design of the object has to be. For example, if a simple building has to be shattered, four grids has to form the main external walls, then can be added more for the floors and the roof and the internal walls.

  2. Each of these grids has to be as much clean as possible (no internal points or edges).

  3. The grids can have internal holes, but this could produce some random problems.

  4. Each grid has to be grouped. If more then one grid, for example the grid that form the windows of a singular facade, lie on the same plane, they can be grouped all together, otherwise no.

  5. The design of the object has to consider that the extrusion is calculated on the opposite direction of the original normal of each grid.

  6. If some of the grids are not part of the possible destruction, for example a wall opposite to the shattering part, it is advised to merge it after the HDA node. Each group more imported in the HDA will increase the computational time of the shattering operation.

  7. The user is invited to use in moderation the options especially during the shattering, because many recursive operations could cause problems. In particular in the Add Points and Level of Details is better to start from small numbers and try to increase one number per time.

  8. If Add Points and Level of Detail don’t produce anything nice try to enlarge the size of the initial 2D group

  9. One general rule is to save quite frequently especially during the shattering operations, because Houdini could crash quite frequently too.

  10. During the dynamics phase, if the number of chunks is more than 700 it can take a couple of minutes to cook the operations, depending on the power of the machine.

  11. Once found the best motion or to find it, it is suggested to save the simulation like a series of bgeo file on disk.

  12. To create irregular cuts with half broken natural chunks, not select all the chunks during the Positioning phase in manual mode but just some.

  13. In the Positioning phase in manual mode do not overlap the various boxes.

Parameters

Tool

This is the main menu and it commands what the HDA is doing.

Shatterer

this option activates the first submenu and the relative operations. With this option is possible to transform a simple grid or any 2D primitive in a 3D shattered piece of geometry.

Dynamics

this option activates the second submenu and the relative operations. With this option is possible to set up the motion options.

Output Pieces

this option activates the third submenu and allows the user to have and external output of the shattered object.

Shatterer

Number of Pieces

This label shows the number of pieces in which the initial grid has been shattered.

InitialGroups

With this option is possible to import the group/groups to be shattered.

Phase

This is the main menu of the Shatterer operation.

Cutter Pos

with this option activated the Cutter folder is activated and is possible to position the cutter

Add Points

with this option activated the Add Points folder is activated and is possible to decide the number of points to add in the initial primitive/s

Shattered Geo

with this option activated the Shattered Geo folder is activated and is possible to decide some options about the shattering

Cutter

Cut Type

the cut can be a 3D piece of geometry or a plane

Cut Position

in the case a plane has been chosen like cutter, it is possible to decide if the cut has to be done above or below the plane position

Depth

the depth of the 3D cutter

Rows

the number of the internal rows of the cutter

Columns

the number of the internal columns of the cutter

Translate

a 3D vector that allows to translate the cutter

Rotate

a 3D vector that allows to rotate the cutter

Scale

a 3D vector that allows to scale the cutter

Height

the displacement height of the noise function of the cutter

Roughness

the fractal roughness of the noise function of the cutter

Fractal Depth

number of iterations of fractal brownian motion noise of the cutter

Frequency

noise frequency of the cutter

Noise Type

Perlin Noise

Standard noise which performs a 3 dimensional hermite spline interpolation on a lattice of random values.

Sparse Convolution

Scatters points randomly through space and interpolates their values.

Alligator Noise

A variation of sparse convolution which gives higher frequency discontinuities.

Add Points

Seed

the seed control the number of points bricked on the primitive

Offset

a 3D vector control the amount of offset to apply to the bricking operation

Note

The number of points will affect the shattering result

Shattered Geo

Type

the type decide how the shattered object has to be considered

Like Glass

if this option is activated the shattered geometry has got a thin structure, like glass

Like a Building

if this option is activated the shattered geometry has got a thick 3D structure, like a building (this option will be used later to perform a self collision detection)

Level of detail

control the quantity of pieces in which the initial group/s is shattered

Internal Division

decide if each shattered piece has to be divided again internally

Distribution Direction

Standard

the standard distribution is random in any direction

Horizontal

the orizontal distribution is random but favour the horizontal one

Vertical

the vertical distribution is random but favour the vertical one

Value

control the distribution

Colour Pieces

if the avarious shattered pieces has to be colourized

Thickness

the value of the thickness of the extrusion

Dynamics

Number of Pieces

number of shattered pieces

Phase

Preview

in the preview phase the motion of the pieces is substituted by the one of particles that is shown drawing some lines

Simulation

in the simulation phase the actual pieces motion is shown

Physics

Gravity

gravity value

Mass

value that multiply the actual internal mass value depending on the size of the pieces

Motion

Initial Acceleration

the initial impulsive acceleration value with which the pieces start their motion

Rotation

if the pieces have to have any rotation during their motion

Velocity Rotation

the initial velocity value of the rotation

Start Rotation at Frame

control the frame at which the rotation has to start

Stop Rotation at Frame

control the frame at which the rotation has to stop

Stop Rotation Bounces

control after how many bounces the rotation has to stop

Note

The start and end rotation parameter depends on the actual start of the motion of the pieces. If it has been set up the start of the motion at the frame x and the rotation at the frame 3, the rotation will start at the frame x+3. These options are cumulative, the first that is validated annuls the others.

Interaction

Drag Pieces

value that controls how much the pieces are dragged in their motion by their mass

Pieces Interaction

if the pieces have to interact each other

Level of Interaction

the value of interaction among the pieces

Acceleration Interaction

the initial acceleration with which the pieces repel each other

Collisions

Ground Collision

to import the sop to be used like ground collision

Ground Tollerance

the tollerance value between the pieces and the ground, resolves the problem of penetration in the ground

Self Collision

if the self collision is activated or not. It works if in the Shatterer/Shattered_Geo/Type menu is chosen Like_Building

Bounce Gain Normal

the value that control how much the pieces have to bounce in the normal direction

Bounce Gain Tangent

the value that control how much the pieces have to bounce in the tangent direction

After Bounces

what the pieces have to do after the bounces. Stop or continue sliding on the ground surface.

Explosion Parameters

The explosion parameters is the section where is possible to set up how the particles will move

Explosion Method

two different methods: auto will decide automatically where to direct the explosion (normal direction of the original primitive), manual make the user decide the direction and what pieces to move

Explosion Frame

the frame at which the explosion starts

Explosion Phase

when in manual mode

Positioning

make position the bombs to control when and what to make explode

Done

activate the changes done during the Positioning

Bombs

decide how many bombs to place to control the explosion

Translate

control the translation of the bombs

Rotate

control the rotation of the bombs

Size

scale the bombs

Explosion Frame

the frame at which the explosion starts

Output Pieces

Output

decide what output

Whole+Shattered

output both the whole part and the shattered pieces in different groups

Whole

output just the whole part

Shattered

output just the shattered pieces

Note This operation bypass the dynamics operations

Render

Render Mode

it allows the user to have the original objects until the shattering starts. If the shattering has been set up at frame x, the shattered pieces won’t appear until frame x, and that works also when different shattering timing is added to different groups.

Normals

the points of the output groups have

Original

the same normal of the original 2D primitive

No Normal

don’t have any normal

Random

have got a normal with random direction

Main Crack

if the main crack between the whole part and the shattered one has to be shown

Usages in other examples

Example name Example for