Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] DestroyIt - Cinematic Destruction System

Discussion in 'Assets and Asset Store' started by DeadlyAccurate, Jun 14, 2014.

  1. dienat

    dienat

    Joined:
    May 27, 2016
    Posts:
    417
    Ok, so you cant chop actually trees, just break them in two parts.
     
  2. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    Hello, Does progressive damage require the material to be using the standard shader? We just started using UBER shader (it should "extend" the standard shader). Is there a way around this?
     
  3. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi FirefightGI,

    I'm happy to report that UBER works great with DestroyIt! :)

    However, there is one small code change you will need to make with DestroyIt 1.42. We will include this change with the upcoming 1.5 version of DestroyIt, so it will automatically work with UBER going forward.

    In the Scripts\Managers\MaterialPreloader.cs script, scroll down to line 144 where you see this "else if" statement:
    Code (CSharp):
    1. else if ((sourceMat.shader.name.ToLower() == "standard" || sourceMat.shader.name.ToLower() == "standard (specular setup)") && sourceMat.HasProperty("_DetailMask"))
    2. {
    3.     // Unity 5 PBR material
    4.     ...
    Simply comment out or remove the section where it checks to make sure the name of the shader is "standard" or "standard (specular setup)". Your "else if" statement should look like this when you're done:

    Code (CSharp):
    1. else if (sourceMat.HasProperty("_DetailMask"))
    2. {
    3.     // Unity 5 PBR material
    4.     ...
    That's it!
    I was really impressed with the UBER shader. In just a few minutes of skimming through the instructions, I was able to get some amazing effects. I applied the UBER shader to the marble columns in our DestroyIt demo scene and added some translucency (and glitter of course, to make them fabulous). Here's a quick 30-second video of the results:

     
    Last edited: Dec 18, 2016
  4. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    Great! That fix is a lot easier than I was thinking it would be. Our game is like 90+% destructible so it was hard for us to find anything to put the UBER shader on haha.

    I'm looking forward to Destroy it 1.5!
     
  5. vertigostudios

    vertigostudios

    Joined:
    Oct 1, 2012
    Posts:
    101
    Hi Guys, this is looking a very nice system indeed. Would the system work with a combat flight simulator ?
     
  6. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi vertigostudios,

    I can't think of any reason why DestroyIt wouldn't work with a combat flight simulator. Actually, many of the combat features in our main demo scene are very similar to their aircraft munition counterparts. We have gunfire and bullet damage, missiles would be similar to our RPG, small dropped bombs would be similar to our RPG rocket explosion, large dropped bombs would be similar to our nuke and its shockwave destructive effect.

    As for the aircraft themselves, they could be assembled with destructible components. This would be similar to the way we configured the SUV in our SUV demo scene. For instance, the wings would be destructible and have separate hit points. When they are at 50% damage, maybe the aerilions get stuck, and when they are destroyed they break apart. Engines could start bellowing smoke at 50% damage and flames at 80% damage using the built-in Damage Effect system. Your flight control scripts would need to check for the existence of working wings, tail, engine, etc, so if pieces are missing the plane gets more difficult (or impossible) to control.

    Sounds like a fun project! :)
     
  7. vertigostudios

    vertigostudios

    Joined:
    Oct 1, 2012
    Posts:
    101
    I'm still in the modelling and building phase at the moment, but your system does look very promising indeed. All of the aircraft currently have separated objects to create the aircraft to allow such a system IE battle damage.
     
  8. Deleted User

    Deleted User

    Guest

    This does look so much better than Fracturing & Destruction, I should have bought this one instead. Will buy this sometime in the future ^^

    Do you have Third Person Controller (from Opsive) integration?
    How about Playmaker? (would I even need Playmaker integration or is this drag and drop ease-of-use asset?)
    Will this asset also work in multiplayer?
     
  9. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi FlyHigh,

    Thanks for the kind words. If you do decide to get DestroyIt, I don't believe you will have wasted your money on the Fracturing & Destruction system. Their system includes a mesh cutter that you can use to fracture models inside of Unity, without needing to use a modeling tool like Blender. You could then use those pre-fractured models as destroyed prefabs in our system. So there is room for both. :)

    Do you have Third Person Controller (from Opsive) integration?
    We don't, but I just reached out to Opsive requesting a copy of their asset so I can test integration with DestroyIt. If all goes well I'll test it and let you know how it goes. In looking at their asset, I can't see where there would be any issues. Like most character controller systems, most of the work is figuring out how to attach checks for destructible objects to bullets, explosives, swords, etc. Usually that process is pretty straight-forward, and there are multiple posts here with code examples and what to look for. I can't imagine it would be much different than UFPS integration, but we'll see.

    How about Playmaker? (would I even need Playmaker integration or is this drag and drop ease-of-use asset?)
    I know DestroyIt will work with Playmaker, but we don't have much experience with creating Playmaker Actions ourselves, so none are included in the package. If you know Playmaker, you could probably split DestroyIt events into actions pretty readily. Another customer asked about Playmaker support on the previous page (click here to go there), and I wrote a simple Playmaker Action as a test. You might want to check that out if you're interested. I don't think Playmaker is a necessity, but if that's what you're used to, I can see where creating Actions for common destructible events might speed up development. It probably just boils down to your preference and what you're used to.

    Will this asset also work in multiplayer?
    Yes, we have tested DestroyIt with Photon PUN. Here's the post where it was disussed, with some instructions/code/video results (click here to go there). That post is a little old, but the process is pretty much the same. For instance, the way we do progressive damage now uses the standard shader and secondary masks instead of the Unity 4 shader, but that's really all that's different.
     
    Deleted User likes this.
  10. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    Is it possible to specify how many pieces the object should be broken into? I did not see this shown.
     
  11. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    DestroyIt is a prefab-replacement destruction system. You can destroy your object into a pre-destroyed prefab or particle effects (or a combination of the two). Since you create the destroyed prefab in your third-party modeling tool, you can control how many pieces it gets destroyed into.

    For something fairly large, like a dresser, I like to make my destroyed version have relatively large pieces (like whole or half board planks) and then put the destructible script on those pieces, so they get destroyed into a particle effect. You can see an example of this in #7 in our demo. http://modelshark.com/products/destroyitwebdemo
     
  12. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    Thanks for the reply.. I probably should have asked before I bought it. I was hoping for a quick win...Rash decisions, my fault. Hopefully I can find time to break up some models manually. I'm sure it will come in handy at some point though.
     
  13. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Many modeling tools have cell fracturing systems either built in or as add-ons. We also have a tutorial on how to fracture a mesh in Blender.


    For smaller objects like wine bottles, I only use a particle effect.
     
    doq likes this.
  14. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    We got in touch with Opsive, and we're happy to report that integrating DestroyIt with Opsive's Third Person Controller worked great!

    The controller is fairly easy to integrate with, since it exposes an event system for weapons that you can fire your own custom events from, and your destructible objects can then listen to.

    Here's a package that contains the OpsiveDamageListener script (mentioned below), as well as a few other related goodies. These get imported into the DestroyIt\Extras folder:
    www.modelshark.com/Content/misc/OpsiveThirdPersonController.unitypackage

    Here's step-by-step instructions on how to use it:
    1) Import the DestroyIt asset into your Opsive Third Person Controller project.
    2) From the top menu, select Window -> DestroyIt -> Setup - Minimal.
    3) On the Opsive character controller, select the Assault Rifle (or other shootable weapon). On the object's ShootableWeapon script, find the Hitscan Options and in the Hitscan Damage event field, type "DamagedByBullet" (no quotes).
    4) Select an object in the scene you want to make destructible. Add the DestroyIt Destructible script to that object, as well as the OpsiveDamageListener script. You can find the OpsiveDamageListener script in the DestroyIt Extras folder.
    5) Run your scene. You should now be able to shoot your destructible object with the Opsive weapons and it will take damage and destroy into a particle effect. For better looking destruction, you can create a custom fallback particle effect that matches your object, as well as a destroyed prefab and progressive damage material.

    Or, if you prefer videos:
     
    Deleted User likes this.
  15. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Submitted a small hotfix for a few particle effect issues.

    1.5.1 Changelog

    • Corrected several bullet hit effect particle effects that were rotating on the ground
    • Recentered the wood splinter meshes center point
     
  16. pixeltek

    pixeltek

    Joined:
    Feb 3, 2017
    Posts:
    1
    Can it be used with a Progressive damage material based on a custom shader.
     
  17. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
  18. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey @DeadlyAccurate - Got a question

    Are there any plans to add alembic file support and playback to your plugin?

    Just curious,

    HeadClot
     
  19. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Does Unity support Alembic? I tried to import a file I saved as .abc, and Unity couldn't read it.
     
  20. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    I do not think it does. I could be wrong.
     
  21. nazbee

    nazbee

    Joined:
    Oct 5, 2016
    Posts:
    9
    It doesnt, but Unity Japan has created an alembic importer/exporter https://github.com/unity3d-jp/USDForUnity
     
  22. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Even if alembic was eventually integrated into Unity, I'm not sure it would be right for DestroyIt. From what I understand, alembic is mostly used for pre-rendered animation scenes? DestroyIt is designed for physics interactions by the player, destroying walls and room objects and vehicles and such.
     
    HeadClot88 likes this.
  23. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    1.5.3 changelog

    New Features:
    • New HitEffects system. You can now specify different particle effects for each weapon/projectile type that hits an object. Also, you no longer need to place TagIt scripts on each collider that needs a different hit effect. You can now place a single HitEffects script on the parent and override individual colliders as needed. See the DestroyIt user guide for more info.

    Minor Changes:
    • Removed many old/unused assets from the package, saving approximately 20MB.
    • Moved SUV Showcase demo scene to its own folder.
    • Added HitEffects to DestroyIt-Ready system, so HitEffects scripts can now be converted to stubs that can be packaged with your own commercial assets.

    Bug Fixes:
    • Corrected several bullet hit particle effects and re-centered the wood splinter mesh's center point.
     
    antoripa likes this.
  24. nerbs1991

    nerbs1991

    Joined:
    Jul 30, 2015
    Posts:
    5
    zangad likes this.
  25. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi nerbs1991,

    Thanks for bringing this to our attention. We did a little refactoring in the 1.5 version of DestroyIt which simplified that method call. You no longer need to call a separate ApplyExplosiveDamage() method - now it's just ApplyDamage(). You provide the appropriate damage type object and it handles the rest. Try this code snippet instead:

    vp_Explosion Code: add just under "foreach (Collider hit in colliders)"
    Code (CSharp):
    1. // If the object is a ModelShark Destructible, apply damage to it.
    2. Destructible dest = hit.GetComponentInParent<Destructible>();
    3. if (dest != null)
    4.     dest.ApplyDamage(new ExplosiveDamage() { BlastForce = Force, Position = OriginalSource.position, Radius = Radius, UpwardModifier = UpForce });
     
  26. keifyb

    keifyb

    Joined:
    Feb 12, 2016
    Posts:
    62
    this is why we need zipped scripts
    edit - or backpacks within backpacks
    lol
     
    Last edited: Feb 16, 2017
  27. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    Hello, I just updated to 1.5 and am getting the following errors:

    Assets/DestroyIt - Core/Scripts/Behaviors/DamageMaterials.cs(11,16): error CS0246: The type or namespace name `DamageLevelMaterials' could not be found. Are you missing an assembly reference?

    and

    Assets/DestroyIt - Core/Scripts/Behaviors/ForceCollisions.cs(22,17): error CS0246: The type or namespace name `ImpactInfo' could not be found. Are you missing an assembly reference?

    I have checked the namespaces, should I re-download and reimport?
     
  28. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Delete your DestroyIt folder in the project and reimport. A few of the class names were refactored, and this is probably causing your issue. Let us know after importing if you're still having a problem.
     
  29. HolyTeal

    HolyTeal

    Joined:
    Sep 9, 2016
    Posts:
    4
    Hi, I have a few questions/points before buying this asset :

    * The link for the documentation is dead on the asset store, could you re-upload it please so I can see how the system works
    * What are the differences between this asset and the asset called "Fracturing & Destruction", they have the same price and I am hesitating between them.

    Thank you!
     
  30. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Ah, we missed that when Dropbox disabled their Public links. Thanks for bringing it to our attention. Here's a link to the PDF. http://www.modelshark.com/Content/DestroyIt-User-Guide.pdf

    I haven't used the "Fracturing & Destruction" product, but DestroyIt doesn't rely on a single strategy for destruction. It uses a combination of swapping the object out with a pre-fragmented, destroyed prefab; swapping the object out with a particle effect; using both for better effect; and removing the object from the game. We also have a system to show progressive damage, and a destruction manager to process destroyed prefabs and throttle them down to particle effects when destruction is heavy, while thinning out excess debris (you set the limit). It has a particle manager to throttle particle effects when destruction is heavy. And it uses object pooling to handle spawning and recycling objects instead of instantiating/destroying them directly.

    Our focus with DestroyIt is:
    • Large amount of destruction (high performance)
    • Realistic destruction (wood breaks like wood, glass like glass)
    • Destruction that matters (collapse towers by knocking out their supports, kill an enemy with a fallen tree, etc)
    I hope that answers your question! Let us know if you need more information.
     
  31. HolyTeal

    HolyTeal

    Joined:
    Sep 9, 2016
    Posts:
    4
    Thanks, seems interesting, is it possible to use the script on character/animatedbody for example ?
     
  32. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    You can use DestroyIt with skinned mesh renderers like the blinds in our demo scene, but if you're looking to remove limbs on characters, that won't work with our system.
     
  33. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
  34. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Hi,

    I'm trying to find more information on Support Points vs Cling Points. Checking out the Main Scenarios Scene as an example of Cling Points, I see #16, Glass Object has child Support Points. When the demo is run the Support Points disappear and Fixed Joints are added via Raycasts to the Poles.

    When the Glass is destroyed, if the Chunks aren't attached to the Poles, on occasion some Chunks have Cling Point components attached as children.

    I'm wondering are Cling Point scripts obsolete? Should one use only Support Point components? If so, the included documentation doesn't really mention them other then a reference to look at Example #20. With the Cling Point script there's a Chance to Cling field which doesn't seem to have a counterpart via the Support Point other than the Break Force/Torque fields.

    What's the area of effect of the Support Point? At first glance, one might think only Chunks close to the Fixed Joints created by the Support Points would affected, but it seems some Chunks near the Joint aren't affected.

    Support Points vs Cling Points





    What's the criteria used to determine which objects Cling?
     
    Last edited: May 1, 2017
  35. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi doq,

    Thanks for posting your question.

    Support points and Cling points were added as helpers in case customers needed that type of functionality. The main difference is that Support Points were created to be used at design-time for structures that need to be connected via joints, like the wooden tower which is held up by posts. If you break too many of the legs, then the supporting joints cannot hold the tower up and will snap, causing it to collapse. Support points are simply replaced with Fixed Joints at runtime. If you find them confusing to use, you can just replace them with Fixed Joints - they just save you the effort of connecting adjacent rigidbodies to the joints and configuring anchor points and whatnot.

    Cling points are a little more complicated. They were designed to place on pre-fractured models and point outwards so when the pristine model is destroyed, the broken pieces will raycast outwards and if they are touching a rigidbody, they will attach themselves under that gameobject as a child. There's also other logic in Cling Points that unparents the child debris in case the parent object is destroyed. Have a look at the MakeDebrisCling() method to see the logic involved. It's not terribly complex, but it was designed to save you time in case you need that kind of functionality, for example a brick wall that breaks but leaves a ragged hole instead of a perfect square behind.

    To answer your other questions:

    Are Cling Points obsolete? No, they have a specific purpose though. We will take another look at our documentation to see if their description can be improved. Thanks for bringing this to our attention. And the "Chance to Cling" field is simply another added helper in case you don't want debris to cling 100% of the time.

    What's the area of effect of the Support Point? It's currently hard-coded to .05 of a game unit. Take a look at SupportPoint.cs, line 36:
    Ray ray = new Ray(transform.position - (transform.forward * 0.025f), transform.forward);
    RaycastHit[] hitInfo = Physics.RaycastAll(ray, 0.075f);
    The first line counter-sinks the support point inside the object .025, and then it raycasts out .075 from there. That means anything touching the support point within .05 of the object should get a fixed joint connected to the object, assuming the object has an attached rigidbody.

    What's the criteria used to determine which objects Cling? For cling points, they don't require an attached rigidbody, so any object that is within .05 of the cling point and is hit by the raycast will be a potential target. If the random % is rolled and is within the threshold, then the debris piece will be set as a child under that game object.

    I hope that answers your questions. If you are still having trouble with cling points or support points, please let us know how we can help. If this explanation helped, then we'll look at expanding the documentation with this information.
     
  36. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Awesome, thanks for the thorough explanation! I played around with disabling some support points in the example scene and it's making sense now. Part of it was my ignorance with how the Project Window doesn't show the Cling Point children in the destroyed prefab Chunks. I made the wrong assumption that somehow on destruction the Cling Points were being generated. :p But your explanation of the difference between them helped clear things up.
     
  37. QuadMan

    QuadMan

    Joined:
    Apr 9, 2014
    Posts:
    122
    Hi,
    Is this asset support level of detail?
     
  38. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Yes, it does! I used LOD levels and LOD groups with the Wasteland Explorer Destructible Bedroom, which is designed to work with DestroyIt.

    Here's a post on using LOD levels with DestroyIt.
     
    QuadMan likes this.
  39. fssdev

    fssdev

    Joined:
    Jan 16, 2017
    Posts:
    50
    I'm running into a scaling issue with the plugin. I have a cube that has been scaled to look like a wall (Scale: 20,10,1).
    The issue is, when its replace by the destroyed chunks prefab its hit by that scale again, making the destroyed chunks object Massively huge. Is there a way around this?
     
  40. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Scaling meshes in Unity affects their physics. If you need a wall, a better way to do it is to make one in the size you need in a third-party tool like Blender and import it with a scale of 1,1,1.

    If you really need to do this, you can probably assign your destroyed prefab as a child inside an empty gameobject and resize the child objects within.

    You might try pulling both objects into your scene, copying the Transform values from the undestroyed object, then pasting the Transform values onto your destroyed object. Resize as needed, then save your destroyed prefab.

    But it's still better not to do any scaling with any object you expect to be affected by physics.
     
  41. fssdev

    fssdev

    Joined:
    Jan 16, 2017
    Posts:
    50
    Thanks for the tip. That is working now.
    So I have two walls, both have their own destroyed prefabs. The only difference between the two is the amount of chunks. The problem I'm running into now is how the walls react when they are hit.
    In this test scene I have the two custom walls that I made and some of the pillars from your Demo scene. The pillars react properly when hit, but my custom made walls explode dramatically when hit. I tried making the chunks heavier, but that didn't change anything. Do you know what might be causing this?
     
  42. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    355
    Hi fssdev,

    The first thing I would do is eliminate some variables by simply dragging your destroyed prefab into the scene and running it. If the model explodes apart, then you likely have an overlapping collider issue.

    When a collider with a rigidbody is inside another collider with a rigidbody at runtime, they will fly apart violently. If you're using convex mesh colliders, this is likely the problem, because convex expands the collider beyond the model's geometry (ie, it doesn't "hug" the negative spaces).

    I would suggest using box colliders for your destroyed prefab pieces. It's more work that way, but you'll get much better performance than mesh colliders, and you'll have complete control of the size/shape of the broken pieces and can prevent overlaps.
     
  43. fssdev

    fssdev

    Joined:
    Jan 16, 2017
    Posts:
    50
    Hmmm, are you saying I should create a custom box collider for each chunk? That could take quite some time.
    I'm not sure If I understand the idea. When I do that the explosion is even bigger, as it should be. The boxes are colliding far more with large box colliders.
     
    Last edited: Jun 27, 2017
  44. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Compound box colliders are the most performant. I use them almost exclusively. It doesn't really take too long to set up--I do a lot duplicating--unless you're looking at hundreds of pieces for a single mesh. (I try to keep my destroyed meshes to around 20 and then put the destructible script on those pieces to break into particle effects if I want more destruction).

    This is one of the destroyed walls in the Wasteland Explorer pack. The top one shows a few of the pieces pulled away. As you can see, there are usually only 2 or 3 colliders on each one. A few have more. Sometimes I can get by with just one. I do one collider and then when it's correct, I just duplicate and rotate for all the rest. You might even be able to get by with simply putting one box collider on each object and then just tweaking them so they don't overlap (2D mode is great for that). The parts of the mesh without colliders will sink into each other, but it might not matter.

    There are assets that will create compound box colliders that look like convex mesh colliders (basically flat box colliders on every plane of the mesh), but you could easily end up with 30+ colliders on each object. I can't speak for the performance of any of those systems, though.

    ** Photoshop removed 3rd-party linking of images, and this image appears to have disappeared **
     
    Last edited: Jul 3, 2017
    doq likes this.
  45. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    Hi before i purchase this asset,
    a few questions:

    1. hows the performance? if i were use it in my VR project?
    2. is it proceedual breakable/destroy-able? or i need to create manually?
    3. will it work with other assets bought from the assetstore?
    4. i see that your plugin runs great with UBER shaders, so i assumingly this will work with alloy shaders
    5. will it work with proccedual levels im building with Dungeon Architect?

    thanks
     
  46. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    1. Performance is one of our keystone elements, so the asset is focused around getting the best performance possible. There are manager scripts to allow you to adjust the amount of visible debris and particles to fit your system requirements, and an object pool to keep objects initialized and ready to use.

    2. No, it's not procedural. You need to create the destroyed mesh objects in a third-party tool if you want persistent debris. Alternatively, you can replace your destroyed prefab with a particle effect (or both).

    3. It should work with any mesh that Unity supports, but I can't speak about its compatibility with every asset on the asset store.

    4. I've never used the alloy shaders. There might be some code work to get it to work, but we've made it work with Shader Forge-created shaders, so it'll probably work with most shader assets.

    5. I've never worked with Dungeon Architect. If it creates prefabs that can have scripts attached to it, and those prefabs can be replace with either meshes or particle effects, it should work.

    You can check out our demo here to see all the features of DestroyIt: http://www.modelshark.com/destroyitmaindemowebgl/index.html
     
  47. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    ok thanks, i wont be getting this asset afterall, since i need to manually create the destroyed mesh on my end... too much work
     
  48. fssdev

    fssdev

    Joined:
    Jan 16, 2017
    Posts:
    50
    I do not think there are any options that will create a destroyed mesh in real-time (Slicing maybe). For example I also have the Fracturing & Destruction plugin from the Asset store and you still have to generate the destroyed mesh manually, albeit it is within Unity. I ran into many issues trying to do it that way, the collider situation was a mess. Using an external 3D modeling tool with built-in fracturing like Modo, or whatever, takes just as much time but gives me more control. This becomes more apparent when you're looking for detailed destruction.
    So far, for my uses, the cleanest pipeline is 3D modeling tool + DestroyIt.
     
    DeadlyAccurate likes this.
  49. fssdev

    fssdev

    Joined:
    Jan 16, 2017
    Posts:
    50
    DeadlyAccurate,
    I'm running into an infinite loop situation. I have a wall that breaks into about 6 or so pieces. Each one of those pieces will break into another set of 6 or so pieces.
    The original wall breaks into the first set of pieces just fine, but as soon as one of those pieces gets broke, it starts spawning an infinite number of the broken shards prefabs.

    Start:
    start.JPG
    Result:
    end.JPG
     
    Last edited: Jun 29, 2017
  50. DeadlyAccurate

    DeadlyAccurate

    Joined:
    Apr 2, 2013
    Posts:
    186
    Are your destructible pieces recursively referencing themselves? If you have the Destructible script on your destroyed pieces, and you give it the Destroyed Prefab of itself, it'll keep spawning more pieces.