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
-
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.
-
Each of these grids has to be as much clean as possible (no internal points or edges).
-
The grids can have internal holes, but this could produce some random problems.
-
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.
-
The design of the object has to consider that the extrusion is calculated on the opposite direction of the original normal of each grid.
-
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.
-
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.
-
If Add Points and Level of Detail don’t produce anything nice try to enlarge the size of the initial 2D group
-
One general rule is to save quite frequently especially during the shattering operations, because Houdini could crash quite frequently too.
-
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.
-
Once found the best motion or to find it, it is suggested to save the simulation like a series of bgeo file on disk.
-
To create irregular cuts with half broken natural chunks, not select all the chunks during the Positioning phase in manual mode but just some.
-
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
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
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 |
|
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 |
The number of points will affect the shattering result
Shattered Geo
Type |
the type decide how the shattered object has to be considered
|
||||||
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 |
|
||||||
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 |
|
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 |
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
|
||||
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
|
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
|
||||||
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 |
---|