Changelog

[0.11.15] - 2022-11-21

Bug Fixes

  • Proper fix for gravity issue. Resolves known issue in 0.11.14.

[0.11.14] - 2022-11-19

Bug Fixes

  • Reverting the way scene gravity is determined prior to 0.11.12, in order to fix a crash bug which occurs with some omni.physics versions. Using a different method to avoid the gravity problem fixed in 0.11.12.

Known Issues

  • The potential gravity crash bug fix mentioned above does not handle multiple physics scenes correctly (one scene will be chosen to determine stress gravity).

[0.11.13] - 2022-11-16

Changes

  • Documentation links in Window -> … -> “Blast Destruction” have been removed. The programming documentation page is accessible through the “?” icon in the omni.blast panel of the extension manager window. The UI documentation is accessible through a link given on the programming home page. Schema documentation is available through the omni.usd.schema.destruction extension.

[0.11.12] - 2022-11-07

Bug Fixes

  • Fixed bug which prevented gravity from being applied to stress simulation when there is no physics scene node. This also allows actors in different physics scenes to apply gravitational stress based on the gravity in the different scenes.

  • Docs button (“?” icon) in the omni.blast panel of the extension manager window now opens a browser with a working URL.

[0.11.11] - 2022-10-19

Bug Fixes

  • Fixing flaky test test_rb_hierarchy_scaling.

[0.11.10] - 2022-10-18

Bug Fixes

  • Fixing divide-by-zero error that can occur with stress calculations in zero gravity.

[0.11.9] - 2022-10-17

Bug Fixes

  • Fixed damage behavior for rigid body / collider hierarchies that have scaling on Xform nodes.

Changes

  • Renamed menu item Window/…/Blast -> Window/…/”Blast Destruction”

  • Setting default Blast window visibility to False. Use the Window -> … -> “Blast Destruction”/Settings menu item to show the Blast window (this option is sticky).

[0.11.8] - 2022-10-10

Bug Fixes

  • Bounding box precision error fix. Very large bounding boxes, such as one representing a half-space, were acquiring very large errors when transformed.

  • No longer forcing legacy Viewport to load into every app.

  • Fixed broken picking on legacy and new Viewport.

Changes

  • Increased the pressure limits to 0.02 and 0.025 MPa for the glass in the max impulse demo.

[0.11.7] - 2022-09-27

Bug Fixes

  • Kit sdk bump to fix omni.blast activation.

[0.11.6] - 2022-09-26

Bug Fixes

  • Fixed blast settings window visibility and checkmark bugs.

[0.11.5] - 2022-09-06

Changes

  • DEBUG DAMAGE (MOUSE-CLICK DAMAGE) UI HAS BEEN REVERTED TO ITS PREVIOUS MOUSE/KEY COMBINATION

    • Use Shift+B+LMB again.

Bug Fixes

  • Fixed flaky selection behavior with previous version’s debug damage.

Known Issues

  • Crash bug: Disabling and re-enabling omni.blast while a destructible scene is loaded can cause a crash.

[0.11.4] - 2022-08-31

Changes

  • Using BlastSDK 4.0.2+master.82.d112bfbf for gcc alignment of 32-byte simd data.

Bug Fixes

  • Fixing Linux crash due to unaligned simd data.

[0.11.3] - 2022-08-30

Changes

  • DEBUG DAMAGE (MOUSE-CLICK DAMAGE) UI HAS CHANGED

    • Now use Shift+Tab+LMB (was Shift+B+LMB before).

  • Kit SDK version bump to fix omnigraph demos and tests.

Bug Fixes

  • Fixed debug damage with viewport 2.

[0.11.2] - 2022-08-12

Changes

  • Using BlastSDK 4.0.1+master.77.8db9274d for stress solver behavior improvements.

[0.11.1] - 2022-07-15

Changes

  • Kit SDK version bump to fix compatibility issue with PhysX

  • Local changes to deal with Flatcache API changes

[0.11.0] - 2022-06-18

New Features

  • Damage is now fully stress-based.

    • Damage has units of acceleration, which is applied to the support-level chunk at the damage application point.

    • Impact damage is calculated similarly from contact impulses.

  • Gravity is applied to all support-level chunks so that damage can occur due to pressure from an object’s own weight.

  • User may adjust material strengths for compressive, tensile, and shear stress.

    • Each stress type has two limits: elastic and fatal. Stresses below the elastic limits have no effect (the material can “rebound” from the induced strain). Stresses above the fatal limit break the stressed bond. In between, the bond area is reduced by a fraction interploated between 0 (elastic limit) and 1 (fatal limit). The reduced bond area leads to higher pressures, increasing the liklihood the bond will break in the future.

  • Impulses applied to broken-off pieces are calculated from the force which exceeded the bond strengths.

    • A multiplier is supplied so that the user may create a more (or less) energetic fracture.

  • Stress limit presets supplied for common physical material types.

Changes

  • Explode view linearly (instead of radially) expands chunks away from central point.

Bug Fixes

  • Fixed memory leak when unloading extension.

  • Explode view depth fix: view depth changes while explode radius = 0 were not being recognized.

Notes

  • Using Blast SDK version 4.0.0:

    • Uses conjugate gradient stress solver to calculate bond forces and torques.

    • Consistent use of physical units with stress solver.

    • Pressure calculated from bond forces divided by bond area, and compared with material strength to determine damage.

    • Compressive, tensile, and shear pressures calculated.

    • Torques contribute to compressive, tensile, and shear pressures using a simple bond surface model.

    • Stress component debug visualization.

[0.10.1] - 2022-05-02

Changes

  • Update to latest omni.usd.schema.destruction version.

Bug Fixes

  • Remove PhysxRigidBodyAPI from copies of source meshes when combining them into a destructible.

[0.10.0] - 2022-04-20

New Features

  • Added stress calculations when destructibles take damage.

  • Added new debug visualization option for stress. Only displays data during sim because it is only active then.

Bug Fixes

  • Fixed non-determinism issue with simulation.

  • Fixed a bug with explode view code that could cause destructibles from external files to disappear when sim starts the first time.

[0.9.14] - 2022-03-08

Changes

  • Support Graph debug visualization now scales with chunks when using the Explode View feature.

  • Support Graph debug visualization is limited to a single actor if a prim at or below the actor level is selected. The entire instance is rendered when a prim above that level (or part of the base destructible) is selected.

Bug Fixes

  • Base destructibles have their “Kind” set to they are properly selected when clicking on chunk while it is in explode view and selection is in “Model” mode.

[0.9.13] - 2022-03-07

Changes

  • Split debug visualization settings into Mode and Type to allow access to multiple combinations of options.

  • Bond Patch visualization has been rolled in with the above change to be consistent.

  • Bond health debug visualization is now relative to starting health, not bond area.

Bug Fixes

  • Fixed bugs with face ID generation and made it able to handle semi-dirty facet data.

  • Fixed bug with code that calculated base destructbible bounds.

  • Updated blast-sdk to bring in a triangulation fix.

  • Sub-fracturing instances that have external bonds while they are in explode view will now properly retain the explode view radius after the operation is complete.

[0.9.12] - 2022-01-21

Bug Fixes

  • Updated blast-sdk to bring in a math library fix.

  • Fixed OG demo scenes.

[0.9.11] - 2022-01-20

Changes

  • Cache system that keeps Blast simulation data in memory for the lifetime of the stage it is associated with.

New Features

  • Added button to push Blast simulation data to USD to allow partially destroyed state to be captured in save file.

  • Approximate bonds (created between nearby depth-0 chunks in a Combine operation) generate bond IDs in the neighboring facets.

  • Bond patch visualization colors facets with bond IDs such that matching IDs (+/- pairs) get the same color. Toggled with a checkbox in the Debug Visualization section of the Blast window.

  • Update to latest Blast schema to pick up ability to enable/disable destruction on a per instnace basis.

[0.9.10] - 2021-12-21

Resolved Issues

  • Fixed long load times in scenes with lots of materials.

  • Fixed Flow Integration demo scene so dust is properly emitted from collision and destruction.

  • Removed call to force physics to reparse from USD at the end of sim, which caused issues in other systems.

[0.9.9] - 2021-12-15

New Features

  • Added OmniGraph nodes

    • Expose destruction and collision events to other systems.

    • Translate those events into Flow data that can be hooked up to a mesh emitter to generate dust procedurally.

    • New demo scene, “Flow Integration”, added to show how to use them.

  • Combine OmniGraph node supports pointing at container prims as inputs. All mesh descendants will be combined.

Changes

  • Angular velocity of the parent is now used to properly calculate linear velocity of children as they break off.

Resolved Issues

  • Fixed bug that caused starting angular velocity to be reduced each time simulation is run.

  • Inherit physics material from source mesh when fracturing.

  • Fixed bug where chunks would be duplicated if a scene was saved during sim and reloaded.

[0.9.8] - 2021-11-05

Changes

  • Added persistent setting (bool) “/persistent/exts/omni.blast/window_visible tied to Window -> Blast -> Settings state, so that window visibility persists across runs

  • Added transient setting (bool) “/exts/omni.blast/suppress_window_on_startup” which overrides the persistent setting (above), for a temporary command line override

[0.9.7] - 2021-10-26

Resolved Issues

  • Fixed the impulse direction applied when doing damage via Debug Damage Tool with the mouse.

  • Fixed initial velocity of destructibles not persisting across simulation runs.

  • Fixed issues with saving in a partially destroyed state and then running simulation from that point later.

[0.9.6] - 2021-09-28

New Features

  • “Enable CCD” setting on rigid bodies is now inherited from source meshes and persisted across destruction events.

  • Documentation for the Kit UI, Programming, and USD Schemas are available through submenus of the Windows/Blast menu.

  • Combine and Fracture nodes added to OmniGraph.

  • Added new demo samples for Fracture and Combine OmniGraph nodes.

Changes

  • The menu item to enable/disable the Blast window has moved from Windows/Blast to Windows/Blast/Settings.

Resolved Issues

  • MassAPI values are fully supported now, and warnings are issued when not set up properly.

  • Fixed crash when “Select Children” was clicked when non-destructible was selected.

[0.9.5] - 2021-08-13

New Features

  • Combine feature now works with existing destructible instances as input.

  • Support to remove root chunks with no children from combined hierarchies.

  • Add button to UI to select the source prim given any selected part of a destructible hierarchy.

  • Add “Reset to Default” button for max contact impulse.

Changes

  • Interior Material drop down list is now alphabetized to make it easier to find materials. “None” is still always first in the list.

  • Selecting “Reset Blast Data” with an instance selected will now delete the instance. Nothing will change with the base or source prims.

Resolved Issues

  • Fixed bug with Blast panel not showing up when extension is enabled, then being full screen when toggled under Window menu.

  • Selecting a chunk under an instance and pressing “Reset Blast Data” will properly reset the sub-hierarchy in the base data.

Notes

  • Updated omniverse-kit to 103.0+master.53811.954095af for dependency compatibility.

[0.9.4] - 2021-08-05

Resolved Issues

  • Add missing dependencies so Blast extension loads properly regardless of load order.

[0.9.3] - 2021-07-21

New Features

  • Blast demos added to Physics -> Demo Scenes

Resolved Issues

  • Fixed Blast window being hidden when kit restarts.

  • Fixed string being passed into physics rigid body GetMaxContactImpulseAttr().Get().

  • Fixed crash bug due to using a reference to UsdPrim::GetCustomDataByKey().

[0.9.2] - 2021-07-19

Resolved Issues

  • Fixed a bug with storing “inf” as the default value for “Max Contact Impulse” in the user config file.

[0.9.1] - 2021-07-18

Changes

  • Allow bond strength to be set on the base or instance level, either as an absolute value or scaled by the bond area.

  • Rearranged Blast UI to be more user friendly.

  • Better handling in the UI for mixed values when multiple prims are selected.

  • Interior materials can be set for entire hierarchies by changing the drop down with any part of a destructible selected.

Resolved Issues

  • Fixed issue with name collision code when creating duplicate instances that could result in an infinite loop.

  • More consistent behavior from user initiated Debug Damage events.

  • Fix bug with explode view radius snapping to 0 when selecting multiple destructible instances that are exploded with different values set.

Notes

  • Using BlastSDK version 2.1.7

    • Optimizes approximate bonding by prioritizing convex hulls over triangles

[0.9.0] - 2021-06-16

Built with kit-sdk@103.0+master.45871.eead9278.teamcity

Changes

  • DEBUG DAMAGE (MOUSE-CLICK DAMAGE) UI HAS CHANGED

    • Now use Shift+B+LMB (was Alt+LMB before).

  • Using schemas DestructibleBaseAPI, DestructibleChunkAPI, DestructibleBondAPI, and DestructibleInstAPI. Older versions will be updated automatically to convert to using these schemas.

  • Added support to cook destructible instance data, including bond overrides.

  • Added dialog to inform user of which prims had data up versioned on file load.

Resolved Issues

  • Fixed OM-32157: Bad behavior / crash when recalculating attachments during sim.

    • Creation/removal of external attachments is no longer allowed during simulation.

[0.8.3] - 2021-06-07

Built with kit-sdk@103.0+master.44023.8c7d22fc.teamcity

Resolved Issues

  • Fixed material support to handle cases where source mesh prims have materials defined as descendants prims.

Notes

  • Removed FastCache check, since FastCache is gone.

[0.8.2] - 2021-06-01

Built with kit-sdk@102.0+master.43040.96dd68f8.teamcity

[0.8.1-kit_102.0] - 2021-05-24

Notes

  • Using omniverse-kit version 102.0+master.42520.6e79e3f8.teamcity.

[0.8.0-kit_102.0] - 2021-05-23

Changes

  • Many changes to USD layout in preparation for schemas.

    • Blast container (“__blast” suffix) split into base (“__blastBase”) and instance (“__blastInst”) containers.

    • The base container holds static data (currently the NvBlastAsset and associated properties).

    • The instance container holds dynamic per-instance data (currently an NvBlastFamily and associated properties).

    • Properties are divided into two categories: Destructible (generic destruction fields) and Blast (NvBlast-specific).

      • Destructible properties have the prefix ‘destruct:’.

      • Blast properties have the prefix ‘blast:’.

      • Many property changes. These are automatically translated upon stage load into the latest format.

    • Blast::getBlastPrimPath (python get_blast_prim_path) split into Blast::getDestructibleBasePath (python get_destructible_base_path) and getDestructibleInstancePath (python get_destructible_instance_path).

    • Chunk meshes may be put anywhere under the base container. The chunk hierarchy is defined by the destruct:parentChunk relationship in each chunk prim.

    • The omni.blast plugin generates chunks in the base container underneath a chunks container named “chunks”, in a hierarchy which closely resembles the chunk hierarchy. Since UsdGeomMesh prims cannot be nested, chunk children are placed under a container prim with suffix “_children” next to the parent chunk prim.

    • Users may author a destructible by creating a base prim and placing chunk (and optionally bond) prims under the base container. On stage load, the omni.blast plugin will generate cooked data in the base prim and a corresponding instance prim.

      • During cooking, bonds are automatically generated. Overriding or deleting existing bonds and creating new bonds may be done using Bond prims. Bond prims may be put anywhere under the base container, and reference the chunk prims they connect.

    • Base and instance data are separately versioned for backwards compatibility.

  • Chunks are displayed in numerical order, with “*_children” containers following the parent chunk.

    • Using “Scope” type instead of typeless prim for containers.

  • Added support for more vertex UV formats.

  • The interior material dropdown is now updated when the prim selection changes.

New Features

  • Multiple instances may be created for a single base. Instances may be duplicated using the standard kit functionality, and instances may be deleted while keeping the remaining instances functioning. If all instances are deleted, a new one may be created from the base using a button in the Blast window.

Resolved Issues

  • Multiple prims may be selected and fractured at once.

  • Fixed OM-29933: Crash fracturing dynamic attachment.

  • Collision approximation for depth 0 chunks now match those given by the collision data on the source meshes. All depth 1 (and deeper) chunks use convex hull collision.

  • Fixed cases where all colliders on a parent rigid body could disappear.

  • Fixed massAPI density values not propagating to destructibles.

Notes

  • Using BlastSDK version 2.1.5

    • (2.1.4) Brings in NvBlastFamily serialization using Cap’n Proto (to support legacy versions), and to fix OM-29933.

    • (2.1.5) Brings in improvements to bond centroid calculations.

  • Using omniverse-kit version 102.0+master.39741.18a36914.teamcity.

[0.7.3-kit_102.0] - 2021-05-12

Notes

  • Using Omniverse Kit 102.0+master.39484.eb376f1e.teamcity

[0.7.3] - 2021-03-25

Resolved Issues

  • Using pxr package for PhysxSchema in python, fixes Create daily build.

  • Minor warnings about deprecated script commands fixed.

  • Deleting existing actors during fracture operation to prevent attributes from sticking around.

[0.7.2] - 2021-03-02

Notes

  • Using BlastSDK 2.0.1 packages. These have no code changes, just build toolchain changes.

[0.7.1] - 2021-02-19

Changes

  • “Allow Self Damage” behavior setting starts in Off state after fracture.

  • Added “Remove External Bonds” button.

[0.7.0] - 2021-02-19

Changes

  • Authoring optimizations.

  • Renamed some API functions for better consistency.

Resolved Issues

  • Fixed bug with undo on a sub-fracture operation.

  • Fixed Cancel button height not matching Ok in UI popup.

  • Fixed bug with resetting Blast data on a sub-hierarchy that has external bonds.

[0.6.7] - 2021-02-12

Changes

  • Fast Cache warning reinstated.

[0.6.6] - 2021-02-11

Resolved Issues

  • Fixed OM-27151: View depth does not update when fracturing.

  • Fixed OM-27247: Crash when resetting fracture on c0.

  • Fixed OM-27214: Cannot destroy all bonds in static attachment.

  • Fixed OM-27280: Leaf chunks not getting force applied from a damage event.

  • Fixed bugs preventing the some external bonds from being broken (both static and dynamic attachment).

  • Fixed crash when fracturing too many selected chunks (see Changes section).

  • Fixed OM-27281: Ghost chunks appearing during some fractures.

Notes

  • Built with omniverse-kit version 101.0+master.26905.01b85708.teamcity.

[0.6.5] - 2021-02-05

Notes

  • Serveral internal optimizations related to how this extension works with physics.

  • Built with omniverse-kit version 101.0+master.26905.01b85708.teamcity.

[0.6.4] - 2021-02-03

Notes

  • Built with Create 2021.2.0-dl.16 70e5a776

[0.6.3] - 2021-02-01

Notes

  • Built with omniverse-kit version 101.0+master.26003.d273c874.

[0.6.2] - 2021-01-27

New Features

  • “Reset All to Default” button added, resets all Blast settings to their default value.

  • Blast window can be toggled using the Blast menu option under the Window menu.

Changes

  • Physics actor generation is now rate-limited by the maxNewActorsPerFrame setting (“Max New Actors Per Frame” in the UI).

  • Fast Cache warning removed again, as it is working with this extension.

Resolved Issues

  • Various bugs/crashes fixed due to allowing fracture operations during simulation.

  • Autoincrement of the random number generator seed fixed.

Notes

  • Built with omniverse-kit version 101.0+master.24956.0c49e6c7.

[0.6.1] - 2021-01-15

Notes

  • Removed deprecated omni.kit.editor dependency.

  • Built with omniverse-kit version 100.2.108-f5dd6556-release.

[0.6.0] - 2021-01-14

Changes

  • Automatically disables Fast Cache (see “Known Issues”) on plugin startup.

  • Option to enable self-damage (impact damage from sibling actor). Previously was on by default. Offers a performance improvement if disabled.

  • Clustering of impact damage events into a smaller number of “aggregate” damage events. Cluster target radius can be set per-destructible.

Resolved Issues

  • blastMaterial log spew bugfix

Known Issues

  • Crashes or incorrect behavior with FastCache. This issue has returned.

Notes

  • Built with omniverse-kit version 101.0+master.ff9d7df3.teamcity.23688.

[0.5.0] - 2020-12-18

Notes

  • Support Sdf change blocks for performance boost.

Changes

  • Remove test to load/unload Blast extension.

  • Various bug fixes.

[0.4.10] - 2020-12-15

Notes

  • Relocated license files.

  • Cleanup of extension layout.

[0.4.9] - 2020-11-26

Notes

  • Built with omniverse-kit version 100.1.39514-2c497556-release, brings in IPhysX v. 1.0.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

[0.4.8] - 2020-11-19

Resolved Issues

  • Fixes OM-22855: Collision shape for a0 is offset from graphics.

  • Fixes OM-22472: Remaining piece of dynamic attachment has incorrect transform

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

[0.4.7] - 2020-11-04

Resolved Issues

  • Fixes incorrect debug visualization of dynamically-attached chunks.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

Notes

  • Now warns the user at startup if FastCache is enabled (see Known Issues).

[0.4.6] - 2020-11-02

New Features

  • Includes test suite available through Test Runner extension.

Resolved Issues

  • Fixes unbreakable bonds feature introduced in previous version.

  • Fixes crash bug when refracturing multiple chunks including root.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

Notes

  • Built with omniverse-kit version 100.1.10282-9793f208-master.

  • Built with omni_physics version 2020.3.257.29268016, which brings in physics schema changes.

  • Use Blast SDK version 1.4.7, which includes authoring bugfixes.

[0.4.5] - 2020-10-05

New Features

  • Support unbreakable bonds when attaching to external prims.

Changes

  • Kinematic prims will stay kinematic when chunks break off if actor owns the physics API.

  • Recalculate Bond Strength will now work if any part of a Blast hierarchy is selected, not just the top level container.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

Notes

  • Package info updated.

  • Extension repo rearraged, icons and images added, to enable extension 2.0 feature set.

  • Using explicit versions for dependencies

[0.4.0] - 2020-09-29

New Features

  • UI to select parents or children of selected chunks.

  • Fully supporting GeomSubsets for mesh materials.

  • Feedback when commands complete.

  • Supporting looking down the hierarchy for Blast containers when testing for external attachment.

  • Hooked up contact threshold and max contact impulse in UI to update Blast prims.

  • Blast data versioning with automatic format translation.

  • Random number generator seed is exposed as a persistent value to the user, with option to autoincrement.

  • Impact damage events are deferred and processed all at once in the frame update. The maximum number processed per frame can be adjusted with a new UI slider “Max Events Per Frame”.

Changes

  • Not drawing broken (0-health) bonds.

  • Default binding to create damage event during sim is Alt + Left Mouse Click.

  • Disable contact reporting for single chunk actors that aren’t root.

  • Pull collision model approx mode from source prim instead of forcing convex hull.

  • Support combining meshes by selecting a top level container prim.

    • Can have arbitrary transform stack between container and mesh(es), gets baked down to chunk level.

    • Blast container is created at common root of all found meshes.

  • Explode View radius is stored on the Blast container and reused when it is reselected.

  • C++ plugin API now uses SdfPath instead of char*.

  • Python wrappers automatically convert char* to SdfPath.

  • Using triangulated version of Blast-generated meshes to fix rendering of complex facets.

  • Manual recalculation of bond strength, via UI.

  • Actor chunks are now inherited from original chunks, instead of referenced.

  • Chunks are deactivated instead of removed during sim, since that fails if the chunks are defined in another file.

    • Actor subhierarchy is deleted when sim stops.

  • Treating case where ancestor has physics, but is not dynamic, the same as not being part of a hierarchy when looking for anchors.

  • Walking up hierarchy to find physics API to populate “Physics Mode” drop down in UI.

  • Better feedback from createExternalAttachment/removeExternalAttachment.

Resolved Issues

  • [OM-18726] Cleared out log warnings during sim related to empty SdfPath.

  • [OM-18670] Doubly world-attached column is not kinematic.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

Notes

  • Using BlastSDK 1.4.3 which has more stable re-fracture (fracture of fractured chunks).

  • Using omniverse kit version 100.1.430-562c0c79-master.

[0.3.1] - 2020-08-06

New Features

  • Support resetting fracture data and re-fracture for a sub-chunk of the Blast data.

  • Debug visualization: chunks, chunk centroids, bonds (internal and anchor), bond health, and anchor bond centroids.

  • Add ‘View Layer(s)’ to explode view. Gives user control over what they see while using the feature.

    • Default behavior is to view leaves, which matches old behavior.

    • Drop down now gives option to view individual layers for fractured prims as well.

  • Add button to select the parent(s) and children of selected chunk(s).

Changes

  • Store chunk, actor, and parent indices as attributes instead of using naming conventions to find them.

    • New API to get and set them.

  • Standardize Blast attribute key names.

  • Pull SubdivisionSchemeAttr off parent mesh when fracturing instead of hard coding it to “none”.

  • Use Kit command framework for combine, fracture, and attachment APIs to fully support undo/redo.

  • Update explodeView() to work with multi-root setup.

Resolved Issues

  • [OM-13797] (Intermittant) glass texture disappearing, leaving opaque mesh, when fractured.

  • [OM-13785] (Only reproduced in Linux, intermittantly) Some pieces transform back to intial transform when Fracturing.

  • [OM-13789] Occasional crash when fracturing a mesh into a very large number of pieces.

  • [OM-17973] After initial fracture, second fracture needs a very large damage radius.

  • [OM-17974] Radial damage pushes chunks in the wrong direction.

  • [OM-13063] Duplication feature of OV Kit does not work with destructibles.

  • [OM-13796] In some maps, small destructibles don’t behave well.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

[0.3.0] - 2020-07-17

Features

  • Voronoi fracture of UsdGeomMesh.

  • “Explode view” of fractured chunks.

  • Multilevel fracture - can select chunks in explode view (or stage view) and fracture those further.

  • Ability to set interior materials of fractured meshes.

  • Fracturing a mesh with a PhysicsAPI creates a destructible rigid body.

  • Ability to choose kinematic or dynamic physics mode for the initial destructible rigid body.

  • Can select multiple meshes and create a combined-mesh destructible.

  • Reset feature deletes blast object and restores original mesh.

  • Impact damage option.

  • Contact threshold.

  • Ability to attach a blast destructible to the static world or a dynamic rigid body.

  • Damage profiles: radial, cutter, and impact spread.

    • Base damage amount.

    • Min/max damage distance.

    • Impulse to apply to chunks when taking damage.

    • Impact-to-damage setting.

    • Max contact impulse, to allow heavy objects to pass through “weak” destructibles (such as a canonball through a window).

Notes

  • Input mesh can have faceVarying, vertex, or uniform UV and normal interpolations.

  • Repository is independent and pulls the kit sdk in as a package.

    • Kit sdk dependencies shared by omni_blast are pulled using the kit sdk’s deps file.

Known Issues

  • Crashes or incorrect behavior with FastCache. FastCache must be disabled to use omni_blast.

  • [OM-13797] (Intermittant) glass texture disappearing, leaving opaque mesh, when fractured.

  • [OM-13785] (Only reproduced in Linux, intermittantly) Some pieces transform back to intial transform when Fracturing.

  • [OM-13789] Occasional crash when fracturing a mesh into a very large number of pieces.

  • [OM-13063] Duplication feature of OV Kit does not work with destructibles.