Search Unity

Physics Magic Destruction Toolkit - NVIDIA Blast Integration

Discussion in 'Tools In Progress' started by Deznom, Nov 14, 2020.

  1. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Hi everyone!

    I would like to show you a plugin that I am currently developing. Magic Destruction Toolkit fully integrates NVIDIA Blast with Unity.

    At the moment, using it you can:

    1) Create destructible assets right inside the engine. There are several fracturing modes at your disposal (clustered, clustered with scaling, uniform and cutout). You can set as many (within reasonable) levels of destruction as you want and flexibly configure each of them: fracturing mode; the number of chunks at a given level; particle systems used for impacts and trails; pool sizes for particle systems. And many more are planned to be added, but more on that later.




    When you fully set up all the destruction levels, the plugin bakes the asset data and saves a set of prepared meshes in a special format, taking up the minimum amount of space (depending on the complexity of the asset), and when the asset is placed on the scene, a pool of objects is created that are later used in runtime.


    I have implemented a debug mode that allows you to view chunks at all destruction levels separately, as well as see the current graph of chunk connectivity (it is built only for the top destruction level and is processed by the Blast automatically).


    2) And of course, destroy created assets in the engine with minimal impact on performance. When placing a destructible family, you can: select the loading priority (all objects are loaded when the game starts); select the simulation space (local or global); determine whether the object will check itself for the presence of anchor chunks.





    Also, I have implemented a simple algorithm for inflicting impact damage, this is how it looks at the moment, all of this, of course, will be refined.


    And now what is planned to be implemented:
    • Blast Stress Solver integration;
    • algorithm for cleaning or deactivating unused chunks;
    • export and import of NvBlast assets;
    • improvement of the built-in asset editor;
    • support for more than two materials on a destructible object;
    • compound colliders for chunks with concave meshes;
    • and many more little things that will improve the experience of using this plugin.
    Things that are under research:
    • Integration of the NvBlastExtRT library. In theory, it will allow you to destroy an object right at runtime, without baking;
    • using boolean operations on chunk meshes for more optimal use of scene resources (the maximum number of chunks will be on the scene only when the object is completely destroyed).
    That's all for now, I will be grateful for your comments and suggestions for improvement.

    Discord Server
     
    Last edited: Sep 8, 2021
    MagiJedi, PutridEx, ftejada and 8 others like this.
  2. AntonioModer

    AntonioModer

    Joined:
    Jul 29, 2014
    Posts:
    65
    Best, most necessary and important, what need more than other, for realistic destruction:
    Blast Stress Solver
    I will buy this asset if this be done
     
  3. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Blast Stress Solver is the next thing I will implement after I'm done with GPU RigidBodies from NVIDIA's Unity PhysX Plugin.
     
    AntonioModer likes this.
  4. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Ok, so I already have purchased RayFire for Unity. Is this better? Advantages?
    What about platform compatibility?
     
    AntonioModer likes this.
  5. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Unfortunately I have never used RayFire, so I cannot compare this two plugins directly. I think one of the obvious advantages is the native integration with GPU RigidBodies. Also there were people who asked me to give an early version of the package to test, as RayFire was inconvenient for them.
    In terms of platform compatibility, this plugin should work on all platforms supported by PhysX and Blast. I need to test this to give an accurate answer.
    Also, I must say that at the moment the development of the MDTK is paused, as currently I am doing the maintenance of the NVIDIA PhysX Plugin and planning to finish it by the end of April.
     
    atomicjoe likes this.
  6. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    If you release, how much will you charge?
     
    AntonioModer likes this.
  7. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    It's hard to say yet, but I think it will be about $70-80.
     
    AntonioModer likes this.
  8. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    Would it make sense to provide runtime fragmentation of an object based on a seed? That way a seed could be passed over the network for identical fragmentation events decided upon at runtime.
     
  9. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    I think yes, that may make sense, but in my opinion it would be much more reliable to pass over the network some kind of intermediate data such as voronoi sites (but obviously this will not be the most optimal way).
     
  10. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    So... Instead of a development update, I'll post this video. It features me encountering some... physics phenomena during bug fixing.

     
  11. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    aaaah, yes... debugging physics is so... INFURIATING :D
     
    Deznom likes this.
  12. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    This opens up a lot of fun ideas :D
    Looking forward to the release.
     
  13. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Hi! Recently I was asked a question about the release date of the plugin on our Discord server. So I can say that the approximate public beta release date is the Q1 2022.
     
    PutridEx likes this.
  14. seldemirov

    seldemirov

    Joined:
    Nov 6, 2018
    Posts:
    48
    Force earn physics on GPU? This is the dream of many people!
    However, it will not be easy to beat the Rayfire in terms of convenience, flexibility and number of tools. I use it myself and this millet is great. But the calculations on the central processor(
     
  15. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Well, I will try to fulfill these dreams!

    Time will show. However my goal is not to beat Rayfire in any way, but rather to provide developers with a worthy alternative ;)
     
  16. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    I am a little curious...what is the main difference between this and rayfire? Is it more performant?
     
  17. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,490
    Price too maybe :)
     
  18. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    Unfortunately, I still can't say exactly how this two plugins differ, since I have never used Rayfire and have not yet fully decided on the set of features that will be present on the release. But I can say that this is becoming quite a frequently asked question and soon I will just write a list of implemented features so that users can determine the differences themselves and choose the plugin that suits them.

    In order to find out, we need to conduct tests on the same meshes and compare the performance head-on, someday someone will do it... I think it will definitely be more performant (at least on Nvidia graphics cards) when I integrate PhysX Plugin support.

    Yeah ;)
     
  19. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    Thanks for the info mate. I will remember to look into your asset when it arrives.
     
    vertexx and Deznom like this.
  20. tosvus

    tosvus

    Joined:
    Dec 27, 2016
    Posts:
    44
    What's the status on this?
     
    EpicMcDude, HeadClot88 and khos like this.
  21. Deznom

    Deznom

    Joined:
    Oct 7, 2015
    Posts:
    15
    I'm sorry. The development of the asset is suspended indefinitely due to events taking place in the world.
     
  22. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
  23. jojiklmts

    jojiklmts

    Joined:
    Oct 6, 2017
    Posts:
    3
    Still no update?