Blast Destruction¶
Overview¶


The Omniverse™ Blast Destruction (omni.blast) extension integrates the NVIDIA Omniverse™ Blast SDK into NVIDIA Omniverse™ Kit applications. It supports authoring of destructible content, and also implements destruction in PhysX SDK-driven simulation.
Introductory Video¶
User Guide¶
Interface¶
The Blast window is divided into panels described in the following subsections.
Fracture Controls¶
These settings are used to author destructibles from mesh prims.

Control |
Effect |
---|---|
Combine Selected |
Combines the selected mesh prims and/or destructible instances into a “multi-root” destructible.
|
Fracture Selected |
Fracture the selected mesh prim.
|
Num Voronoi Sites |
The number of pieces in which to fracture the selected meshes.
|
Random Seed |
Seed value of pseudorandom number generator used during fracture operations.
|
Auto Increment |
If checked, the Random Seed will automatically increment after each fracture operation.
|
Select Parent |
Select the parent(s) of the currently selected chunk(s). Removes children from selection set.
|
Select Children |
Select the children(s) of the currently selected chunk(s). Removes parents from selection set.
|
Select Source |
Select the source prim associated with any part of the destructible.
|
Contact Threshold |
The minimum contact impulse to trigger a contact event with a destructible.
|
Max Contact Impulse |
Applied to kinematic destructibles, limits the force applied to an impacting object.
|
Reset to Default |
Set Max Contact Impulse back to ‘inf’ for the selection.
|
Interior Material |
The material applied to faces generated through fracture. Can be set before or after fracture and will be applied to all descendants of the selected chunk(s).
|
Interior UV Scale |
Stretch to apply to material textures on newly-created interior faces.
|
Apply Interior UV Scale |
Apply the stretch value Interior UV Scale to selected chunks.
|
Recalculate Bond Strength |
Set initial bond health based upon the contact area between chunks. This only needs to be used when chunk scale changes.
|
Default Bond Strength |
The bond strength to be applied to all bonds unless a bond prim exists to override the value.
|
Bond Strength Mode |
Options use the Default Bond Strength directly, or scale it by the bond’s surface area from the base or instance geometry).
|
Recalculate Attachment |
Search for nearby static or dynamic geometry and form bonds with that geometry.
|
Make External Bonds Unbreakable |
Bonds created between a blast destructible and external geometry will never break.
|
Remove External Bonds |
Remove all bonds to external geometry.
|
Create Instance |
Creates an instance based on the selected destructible base or instance. On instances, this is equivalent to using Kit’s duplicate command on the instance prim.
|
Reset Blast Data |
Destroys fracture information, depending on the type of prim(s) selected:
Base selected - destroy all destruction info (including combine) and restores the orig mesh.
Instance selected - destroy the selected instance.
Anything else - search for chunks under selection and reset all fracture information for them.
|
Important
Fracturing operations can increase geometry counts exponentially and has the potential to overwhelm computer resources. Use caution when increasing Number of Voronoi Sites.
Damage Settings¶
These settings are applied to the selected destructible instance(s). They control how damage is processed during simulation.

Control |
Effect |
---|---|
Damage Min Distance |
The meaning of this depends on the damage profile (see below).
|
Damage Max Distance |
The radius outside which no damage is applied.
|
Impact Damage Scale |
A multiplier, contact impulses are multiplied by this amount to obtain a damage amount.
|
Allow Self Damage |
If On, chunks may damage sibling chunks (ones from the same destructible container).
|
Impact Cluster Radius |
If positive, a distance within which impact damage events may be combined, to reduce their number.
|
Global Simulation Settings¶
These settings are general simulation settings.

Control |
Effect |
---|---|
Max New Actors Per Frame |
Only this many Blast actors may be created per frame. Additional actors will be delayed to subsequent frames.
|
Debug Visualization¶
These settings are used to visualize various aspects of a destructible.

Control |
Effect |
---|---|
Explode View Radius |
When Not simulating, separates the chunks for inspection and/or selection.
|
View Chunk Depth |
Which chunk hierarchy depth to render while in exploded view.
|
Visualization Mode |
Controls what to render debug data for.
Off - disable Blast debug visualization system.
Selected - only render debug visualization for the selected actor/instance.
All - render debug visualization for all instances.
|
Visualization Type |
Controls what debug data is to be rendered.
Support Graph - This shows representations of chunk centroids and bonds (drawn between the centroids). External bonds have a brown square around the bond centroid to distinguish them. The bond colors have meaning:
Green - the bond’s health is at or near its full value.
Red - the bond’s health is near zero. (Zero-health bonds are “broken” and not displayed.)
In Green -> Yellow -> Red continuum - the bond’s health is somewhere between zero and full value.
Light blue - the bond is an unbreakable external bond.
Bond Patches - Render bonded faces between chunks with matching colors.
|
Debug Damage Tool Settings¶
These settings control damage applied using Shift+B+(Left Mouse) during simulation. This is only intended for testing the behavior of a destructible.

Control |
Effect |
---|---|
Damage Profile |
Which damage program to run when a destructible actor receives a damage event. A detailed description of the damage profiles is given in a subsequent section.
|
Damage Amount |
The base damage amount for damage calculations.
|
Damage Impulse |
The outward impulse applied to fractured pieces.
|
Damage Radius |
The distance from the damage center (where the cursor is over scene geometry) to search for destructibles to damage.
|
Push Blast runtime data to USD Button¶

This button pushes current Blast data to the associated USD containers. This is useful if you want to save a scene in a partially destroyed state.
Damage Profiles¶
Radial Damage (Falloff)
Simulates an explosion. Chunks/bonds within the damage range are damaged regardless of the graph topology. Full damage is done if the distance is between 0 and the min distance, no damage is done beyond the max distance. Between them, damage linearly decreases.
Radial Damage (Cutter)
Similar to Falloff, except damage inside the min distance is 0, in the range is the full damage amount, and beyond the max distance is 0.
Impact Spread
Simulates a physical impact. It assumes that position is somewhere on the chunk and looks for nearest chunk to this position and damages it. Then it does breadth-first support graph traversal. For damage falloff, distance is measured along the edges of the graph. That allows it to avoid damaging parts which are near in space but disjointed topologically. For example if you hit one column of an arc it would take much bigger max distance for damage to travel to the other column than in the simple radial damage. Damage falloff over distance is calculated the same way as radial falloff.
Demo Scenes¶
Several demo scenes can be accessed through the physics demo scenes menu option (see the image below). This will enable a Physics Demo Scenes window, which has a Blast Samples section.

Tutorials¶
Getting Started¶
This tutorial shows initial setup.
First enable the Blast extension (if it isn’t already):
Navigate to
Window > Extensions
- Enable the
Blast Destruction
extension
You can check
Autoload
if you will be working with Blast frequently and don’t want to have to enable it by hand each time you load the applicationMake sure it says
UP TO DATE
at the top of the extension details, if not, update to the latest release of the extension
Make sure there something for the mesh to interact with:
Navigate to
Create > Physics > Physics Scene
And
Create > Physics > Ground Plane
Next, create a mesh:
- Navigate to
Create > Mesh
and pick a mesh primitive type to create (Cube, Sphere, etc)
Be sure not to select
Create > Shape
, those do not support fracture, it must be a “Mesh” type primAlternatively, you can load a mesh from another Usd source, just make sure it is a closed mesh
- Set up any physics properties you want on the mesh
Right click on the mesh and navigate to
Physics > Apply Preset > Rigid Body
to make it dynamic and collidableYou can then change physics properties in the
Properties > Physics
panel
Now fracture it:
Make sure the mesh to fracture is selected
Locate the Blast pane (by default it docs in the same area as Console)
Adjust Blast settings as desired (see above for what the settings control)
- Click the
Fracture Selected
button to fracture it
This will deactivate the original mesh and select the new Blast container (prim named after source mesh with
__blast
in the name)The original mesh is not altered and can be easily restored later if desired
Scrub/adjust the
Debug Visualization > Explode View Radius
in the Blast panel to review the fracture
Running the simulation (by pressing Play
), the destructible falls to the ground and fractures due to impact damage.
Reset Fracture¶
Here we see how to undo a fracture operation:
Select the original mesh with Blast applied or the Blast container (prim named after source mesh with
__blast
in the name)Click the
Reset Fracture Data
buttonDialogue will warn of deletion permanency; agree to delete
This will remove all Blast data generated and re-activate the source mesh prim
In the video we change the Num Voronoi Sites number and re-fracture.
Multilevel Fracture¶
Here we see how to recursively fracture. This allows for higher overall detail with lower rendering and simulation cost by using a parent chunk for rendering and simulation until at least one child breaks off. It also allows for non-uniform fracture density throughout the mesh. Chunks of a fractured mesh may be broken down further:
Select a mesh with Blast applied
Adjust the explode view radius to make chunk selection easy
- Select the desired chunk(s) to fracture further
You can also select them directly from Stage view under
<Blast container> > chunks
- Adjust the
Num Voronoi Sites
in the Blast panel to the desired number
Each chunk will be split into that many pieces
Click the
Fracture Selected
button to fracture the selected chunksChanging the
View Chunk Depth
value selects different hierarchy depths to displayYou may use the
Select Parent
andSelect Children
buttons to select up and down the hierarchyRepeat as needed to get the desired level of granularity and fracture density throughout the mesh
Static Attachment¶
This tutorial shows the preferred way of creating a “static” destructible, by emulating an attachment to the static world:
- Create a static collision mesh
Create/load a mesh
Right click on it
Navigate to
Physics > Apply Preset > Collider
- Create a destructible prim in the usual way (see Getting Started above)
Leave the source prim as dynamic, do not set to kinematic or static
Place the destructible prim adjacent to (or slightly overlapping) a static collision mesh
Select the Blast container prim
- Set the state of
Make External Bonds Unbreakable
based on how you want the base to behave
When checked, the base pieces will remain kinematic no matter how much damage they take
This is a good idea if the Blast container is deeply penetrating the static geometry, otherwise physics will force them apart when the pieces become dynamic
When unchecked, the chunks can take damage and break free, becoming new dynamic rigid bodies
Press the
Recalculate Attachment
button to form bonds between the destructible and nearby static geometry (“external” bonds)
Debug visualization > Internal Visualization
shows where external bonds have been formed when set toSelected
orAll
When simulating, the bonds formed keep the destructible “static” (kinematic). When bonds are damaged, chunk islands that are not connected via bonds to static geometry become separate dynamic bodies. The chunks that remain connected to static geometry via bonds remain kinematic.
Dynamic Attachment¶
Here we see how to turn a part of a rigid body into a destructible. If the rigid body consists of multiple meshes, we may select one and make it destructible:
Create a Xform prim to contain the meshes with
Create > Xform
Create/load meshes and add them to the Xform container
- Set the hierarchy as dynamic and collidable
Right click on the Xform prim
Navigate to
Physics > Apply Preset > Rigid Body
This will automatically set the contained meshes as colliders
Select the mesh to make destructible
Click the
Fracture Selected
button to fracture the mesh as usual
- Set the state of
Make External Bonds Unbreakable
based on how you want the base to behave
The same rules apply as for Static Attachment above
- Press the
Recalculate Attachment
button
Bonds will be formed with any adjacent or overlapping collision geometry from the same rigid Body
When simulating, the destructible mesh will move with its parent physics as a single rigid body. When bonds are damaged, chunk islands that are not connected via bonds to the parent physics geometry become separate dynamic bodies. The chunks that remain connected to the parent physics geometry via bonds remain rigidly connected to the physics body.
Note, if no bonds were formed (because there was no adjacent or overlapping collision geometry from the parent rigid body), then all chunk islands become dynamic when the destructible is fractured.
Note
If Alt + Click does not “Explode” Mesh, Try increasing Damage Amount, Damage Radius and/or Explosive Impulse. Changing Material(s) requires re-fracturing Physics Properties of the Source Asset propagate to the fractured elements.