Home

Awesome

Blast 1.1.9

Alt text

Introduction

Blast is a new NVIDIA GameWorks destruction library. It consists of three layers: the low-level (NvBlast), a high-level "toolkit" wrapper (NvBlastTk), and extensions (prefixed with NvBlastExt). This layered API is designed to allow short ramp-up time for first usage (through the Ext and Tk APIs) while also allowing for customization and optimization by experienced users through the low-level API.

This library is intended to replace APEX Destruction. It is being developed with the goal of addressing shortcomings in performance, stability, and customizability of the APEX Destruction module.

Some notable features of NvBlast:

Features of NvBlastTk:

Notably absent from NvBlast and NvBlastTk:

Blast, at the low-level and toolkit layer are physics and graphics agnostic. It is entirely up to the user to create such representations when blast objects are created. Updates to those objects (such as actor splitting) are passed to the user as the output of a split function in the low-level API, or through a split event in the toolkit API. This allows Blast to be used with any physics SDK and any rendering library.

In order to help the user get started quickly, however, there is a PhysX-specific Blast extension which uses BlastTk and manages PhysX actors and joints. The source code for this extension, like all Blast extensions, is intended to be a reference implementation.

Current blast extensions:

Documentation

See docs/api_docs/index.html for api documentation.

See docs/source_docs/index.html for full source doxygen pages.

See docs/release_notes.txt for changes.

Compiling

For windows (VS2017):

For linux:

For PS4 and XBoxOne:

Tools and Samples Binaries (Windows only)

Blast tools and sample executables, along with all necessary supporting libraries, are packaged in the blast_tools_and_samples-windows.zip file. This allows someone without a development environment to use these applications.

Unreal Engine 4 Plugin

UE4.19.2: https://github.com/NvPhysX/UnrealEngine/tree/Blast-4.19

UE4.20.3: https://github.com/NvPhysX/UnrealEngine/tree/Blast-4.20

UE4 github access is required to access this repo, more info: https://developer.nvidia.com/nvidia-gameworks-and-ue4

Includes authoring in UnrealEd and sample maps.

Gallery

Tower explosion

Alt text

Bunny impact damage

Alt text

Layered cube explosion

Alt text

Table impact damage

Alt text

Tower slice

Alt text

Wall impact damage

Alt text

Stress solver

Alt text

Joints

Alt text