Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Ultimate Fracturing Destruction editor extension for Unity 3D

Discussion in 'Assets and Asset Store' started by UGTools, May 30, 2013.

  1. Luxalpa

    Luxalpa

    Joined:
    May 13, 2014
    Posts:
    8
    Is there a way to let it not create any colliders? I just want my object to explode when I trigger it using a script, the debris should just fly through the air and then disappear through the ground. I don't need the overhead of any colliders.
     
  2. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Yes, one of the last parameters is Always Gen. Colliders. Just disable it :)
     
  3. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    I was wondering if I should enable the Is Trigger property for the kinematic chunks and on impact detach all chunks and disable the trigger attribute. This would avoid hitting against kinematic rigidbodies, the first hit would always be against an already dynamic chunk.

     
    hopeful likes this.
  4. micuccio

    micuccio

    Joined:
    Jan 26, 2014
    Posts:
    141
    Hi there,
    I was wondering if there is a way to "batch" the fragment process of multiple and save them as single mesh/prefab.
    I know that the saving option is there, but I have A LOT of structures to fragment.
    Do you think is possible?

    Thanks in advance!
     
  5. Luxalpa

    Luxalpa

    Joined:
    May 13, 2014
    Posts:
    8

    The algorithm is creating way too much geometry. The face above could be consisting of 3 triangles, but instead it is using almost 25, while also adding dozens of unnecessary vertices.
     
  6. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    I'm interested to buy this asset but have a few questions. I'm planning to use this where forces (Rigidbody.AddExplosionForce) are placed on any given object, will your asset detect how much force is placed on the object and fracture?
    Also can the fracturing be set so debris falls in diredction of the force, or have like an exploding effect?
    Sorry for all the questions, I'd like to try make sure this is the suitable asset for me :)
     
  7. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi there!

    Not at the moment I'm afraid. This can probably be done by giving support for multiselection.
    You plan to have many different objects with different chunks and fragmenting parameters?

     
  8. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi Glurak,

    Check the adjacent faces that are pointing downwards. You need those vertices because the faces below have triangles that link them.
    The more depth or chunks you create, the more vertices you end up having.

     
  9. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    If I can also ask:
    Does your system handle dynamic fracturing or would object debris will need to be pre-fractured and have rigidbodies?
     
  10. Luxalpa

    Luxalpa

    Joined:
    May 13, 2014
    Posts:
    8
    Those adjacent faces also share the same useless vertices, that's the problem. If I use a 3ds max fracturing script, I end up only with a fraction of that amount of triangles.

    Edit:
    Nevermind, I'm wrong, it's indeed the fault of my geometry, didn't think it was that weird. Anyway, it would be great to have an option that allows the creation of non-manifold/detached geometry so it renders faster/needs less tris.
     
    Last edited: Aug 13, 2015
  11. DustySkunk

    DustySkunk

    Joined:
    Sep 12, 2013
    Posts:
    13
    Hi UGTools,

    I have a quick question regarding performance. Right now I'm writing a simple disaster simulation in which a small portion of a city (+/- 100 buildings) can be destroyed as a tornado passes through the scene. I would like to use this asset to make each building destructible however I have some questions concerns. I noticed earlier in this thread that someone asked a similar question and was having significant performance issues (http://forum.unity3d.com/threads/ul...sion-for-unity-3d.184170/page-10#post-2116601).

    My scenario differs from the test he talks about in that post in that rather than having one object breaking into 600 chunks, I would have many destructible objects with smaller chunk counts be destroyed between one and three at a time over a longer period. Imagine an explosive force moving through a field of spaced out fractured cubes.

    From what I understand the fractured models only become "fractured" once there is a collision event of some sort. Up until that point, the model is rendered using the original mesh. Is this accurate? That means there is no appreciable difference regarding resources and performance until the fracture actually happens?

    I know you can't give me specific numbers, but how likely am I to run into performance issues? Can you give me some idea of what I'm looking at here? Ideally I will be targeting a minimum threshold of 60 FPS on reasonable hardware.


    Thanks in advance for your time.
     
    Last edited: Aug 21, 2015
  12. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Exactly, that is one of the optimizations we introduced in earlier versions. Hopefully we will develop some new ones soon!

     
  13. westabforts

    westabforts

    Joined:
    Feb 5, 2015
    Posts:
    3
    Hi there, this asset pack is pretty much exactly what I'm looking for. I wasn't able to find any video demonstrations showing how this asset pack works with Unity 5. Could you reply back with with something showing your asset pack running in Unity 5? Sorry if I have missed a video you have already put out. Thanks!
     
  14. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    We haven't uploaded videos with Unity 5 but it works exactly the same but with way better performance.
    Unity 5 introduced physx 3.x which has multithreaded support and better/faster physics computations.
     
  15. QFGlenn

    QFGlenn

    Joined:
    Feb 21, 2013
    Posts:
    39
    Hey. I am interested in using this system to reproduce something similar to the effects on house of the dead 2 or left 4 dead 2 where you can fire at a zombie's arm for example and the flesh flies off, and they continue animating. Im trying to deduce whether it can be done with this asset, or whether perhaps it has to be done by cleverly swapping out mesh. Any thoughts or advice on this topic would be greatly appreciated. This, along with the rope asset are extremely well made and worth every penny. Thanks left4dead2_lower_back_wound.jpg the-house-of-the-dead-20080822035322093.jpg
     
    Last edited: Sep 3, 2015
  16. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    I'm afraid there is no skinned mesh support at the moment :(
     
  17. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    Please add an option to disable colliders in detached chunks after n seconds and other to set them to static after n seconds.
     
  18. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    This seems to be not generating the chunks correctly with Voronoi for objects that have indoors like a building
     
  19. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hello nxtboyIII,

    Probably the meshes aren't watertight then
     
  20. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    What do you mean?
     
  21. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    There is an error in the console that says "convex hull has a polygon with less than 3 vertices!". How do I fix that?
     
  22. Topherson

    Topherson

    Joined:
    Apr 7, 2014
    Posts:
    1
    Hi UGT folks!

    First: nicely done with F&D. Awesome.
    Second: i see it has some difficulties playing nice with VertexColour shaders like the kind used in Low Poly assets like PolyWorld. www.assetstore.unity3d.com/en/#!/content/18572

    The single mesh renders fine but the chunks do not.
    Is this something that can be fixed?

    thx in advance!
    Toph
     
  23. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    455
    Please I have a problem that The tool seems that it does not recognize empty objects, I have used an empty sphere , like an egg (only available the outer part) and when fracturing with voronoi, it will fracture correctly BUT the whole of the sphere, including also the empty space inside.

    Also I have used a bottle, and also it does not work as expected, all the bottle is considered as full when is empty

    Also I have made this cubic 3D rectangle or Hollow cube (see screenshot), that has the inside empty, and it happens the same, when trying to fracture it, it takes ALL the cube shape including ALSO the empty part. It should only take the visible parts of the mesh and not the whole of the shape.

    Please, I am doing something wrong? How can I fracture an empty object?

    Thanks for your help
     

    Attached Files:

  24. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    This is happening to me too, it is fracturing parts of the mesh that aren't visible
     
  25. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    455
    Nxtboyll is answering to the the post above I have

    Good to know that I am not the only one that happens this, and it happens to you too, and searching on internet, it seems that for this to work it needs to be able to recognize the width of the borders to be able to know where is empty
    For example in Blender to use fracture on a hollow shape is needed to solidify the 3D model before fracturing it.

    What do you mean that the mesh must be watertight?
    I suposse and think it means that it must be 100% closed shape without holes, but:
    How can I now if a mesh is really watertight? how can I have a proof of this?

    ERRORS AFTER MADE THE FRACTURE

    I have a 3D model of a spherical drone that has some additional details and is a closed shape, but when I try to fracture it, it works, but in a weird and strange way.
    Using voronoi with values X=3 Y=3 Z=3 you should get 27 fragments, well I get instead 648 fragments!!!! and is really fractured, and the preview chunks works right, BUT in the console appears these errors

    Gu::ConvexMesh::loadConvexHull: convex hull init failed! Try to use the PxConvexFlag::eINFLATE_CONVEX flag. (see PxToolkit::createConvexMeshSafe)
    UnityEditor.DockArea:OnGUI()

    ConvexHullBuilder::CreateTrianglesFromPolygons: convex hull has a polygon with less than 3 vertices!
    UnityEditor.DockArea:OnGUI()


    In the manual is told that to be able to fix this you should increase the value of Min Collider Volume, well I have done it from value 1 until 900 (also many numbers in between) and still having exactly the same error. Each Time that I have tried a new value I have pressed the Compute colliders.

    Also have tried to use a new seed and compute chunks again and keeps being the same

    If I buy and use the Concave collider could help to fix this?

    GUIDE ABOUT HOW TO PREPARE CORRECTLY 3D MODELS FOR FRACTURING?

    Maybe the problem could not be because of the plugin, and could be because the 3D model must be prepared correctly and with some conditions and requirements, so then the plugin can process and fragment the 3D models correctly without problems and errors

    So I think it would be good, useful and helpful to have also additionally to the well done manual, a guide about how to prepare a 3d model for fracturing.

    Some additional questions related to this topic

    Are all the shaders that a mesh could have be allowed to be used for fracturing?

    Are all the materials that may be added to the mesh be compatible with fracturing?

    What happens with 3D models that may have Quads or N-gons instead of triangles?

    Must it have a UV or it does not matter?


    From the manual I know that it must be one unique mesh and that it should have some volume, although I really do not know what this means.

    Thanks for any possible help

    Best wishes
     
    Last edited: Sep 17, 2015
  26. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi there!

    Can you send me the model to info@ultimategametools.com? I suspect it could be indeed missing vertex color information

     
  27. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi SpaceRay,

    Yes, if you only have the outer part it will consider it a closed mesh, which makes sense because how would you specify you want the inside fractured as well otherwise?
    If you want the hollow part inside, you would need to "close" the mesh so that it has volume, even if it's thin.

    Can you send me the cube shape on your screenshot? info@ultimategametools.com

     
  28. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Do those 648 fragments also appear if you fracture the mesh deactivating "Generate Mesh Islands" option? This will also create chunks if the algorithm finds groups of closed meshes.

    Regarding shaders, materials and some requirements:
    -You can use any shader you want, any material you want
    -Unity would have to triangulate them for the tool, and I'm not sure if that happends. Do you have any models for testing?
    -It doesn't matter if it doesn't have UV

    Regarding the "volume" thing. Imagine you have a house and you want to fracture it. You would need the walls to be thick, and not planes. Otherwise the algorithm can't know which parts to fracture. You want the walls to collapse, not the room inside.
    You will find many models online that use planes for the walls instead of having proper geometric thickness and that's why they won't work :)



     
  29. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    Can you please, please fix this bug? I really need this to work. The building I am trying to fracture is completely watertight and it doesn't work.
     
  30. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi, I've tried to fracture your model with all default values and this is the result. I don't see anything wrong:

    http://postimg.org/image/a4hicn7pp/

     
  31. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    In that picture you can see right here (http://puu.sh/kf9GB/f22f3840da.png) the collider is making a triangle instead of the corner shape it should be. I don't want that
     
  32. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    Also I recently bought the Concave Collider asset and when I check the "Concave Collider" checkbox it says Concave Collider is not found. By the way I am on a Mac.
     
  33. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    That is because the object is dynamic and Unity only allows convex colliders for dynamic objects. Indeed Convex Collider should overcome this issue :)
    Do you have a file located at Assets/Plugins/ConvexColliderDll.dll or Assets/Plugins/x86_64/ConvexDecompositionDll.dll? Even if you are on Mac, it looks for this file to know if it can enable the Concave Collider support.

     
  34. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    Yes I do have that file.
     
  35. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    I've spotted a bug that must have slipped in one of the latest versions. Change FracturedObjectEditor.cs line 650:

    Code (csharp):
    1.  
    2. if(System.IO.File.Exists("Assets/Plugins/ConvexDecompositionDll.dll") == false && System.IO.File.Exists("Assets/Plugins/x86_64/ConvexDecompositionDll.dll"))
    3.  
    for:

    Code (csharp):
    1.  
    2. if(System.IO.File.Exists("Assets/Plugins/ConvexDecompositionDll.dll") == false && System.IO.File.Exists("Assets/Plugins/x86_64/ConvexDecompositionDll.dll") == false)
    3.  
     
  36. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    I've also noticed something. The Concave Collider integration in the fracturing panel doesn't expose all the parameters the Concave Collider allows to tweak when it is added on its own to a GameObject. Using the default parametesr sometimes you can't get the results you're after. I had to tweak them by code to get this:

    http://postimg.org/image/hgwxdjdpn/

    Which is the correct result, but would require to add new parameters which I will do that in the following days.
    Meanwhile if you want to get the same result change FracturedObject.cs line 121: parameter ConcaveColliderMaxHulls should be higher than 1. Try setting it to 6 or 7. But do it before adding the FracturedObject component to the object because it isn't refreshed when you change it once it has been added.

    Hope that helps!
     
    hopeful likes this.
  37. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi again!

    I will update a fix for this ASAP, but meanwhile you can change MeshData.cs line 217:

    Code (csharp):
    1.  
    2. resultArray[i].bHasColor32 = false;
    3.  
    for:

    Code (csharp):
    1.  
    2. else resultArray[i].bHasColor32 = false;
    3.  
     
  38. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    262
    Ok thanks. Also for some reason the Fracturing and Destruction asset causes unity to crash a lot, and whenever I compute the concave colliders it always, always crashes.
     
  39. mercalli

    mercalli

    Joined:
    Sep 1, 2015
    Posts:
    2
    I think I found a bug in how supported chunks are being calculated. When destroying a simple cube I get the result shown in the attached photos. Wherein, the chunks at the top of the cube will continue to float. Is there any setting I can check that will fix this? I read through the documentation but didn't see any thing about how it was determined if the chunk was still supported.
    bug.png
    bug2.png
     
  40. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi nxtboylll,

    I'm looking into it right now. It is very difficult to debug but I will make an update soon hopefully.

     
  41. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi mercalli,

    Can you send me a sample scene to info@ultimategametools.com? Thanks!

     
  42. mercalli

    mercalli

    Joined:
    Sep 1, 2015
    Posts:
    2
    Well, after trying to create a sample scene for you, I figured it out :) In my custom explode script I wasn't setting the bCheckStructureIntegrityAfter parameter to true. As soon as I set it to true the parts no longer float, and it falls as expected.. Awesome.
     
    hopeful likes this.
  43. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Nice! hope it looks cool :)
     
  44. allinlabs

    allinlabs

    Joined:
    Dec 31, 2012
    Posts:
    15
    Hi there,

    I was wondering if there's a way to disable fracturing when a large piece is detached from the main object.

    For example on this screenshot, if I press Space the gun will fire and the part in the green area will be detached and fractured into multiple chunks. I'd like to disable the fracture, at least until it reaches the floor. Is it possible ?

    2015-10-03_16h48_26.png
     
  45. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    This was done by an user. And requested long time ago. This asset has not been improved in a long time either. Just updated to u5.
     
  46. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Hi allinlabs,

    Indeed this feature has been really high priority for some time. We have been extremely busy lately developing our 3 new assets but now that they are online we are concentrating our effort in F&D updates. As soon as I have some more concise dates and info I'll let you know.

     
  47. UGTools

    UGTools

    Joined:
    Oct 10, 2012
    Posts:
    738
    Bigger updates with brand new features are in the making :)

     
  48. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    Seriously looking forward to these. You expect to keep suppport for 4.6.8 platform?
     
  49. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    An idea for future.
    For large stuff I wouldn´t mind to slice my geometry in 3dmax for later on independently fracturing each part, so when a projectile hits the building, it doesn´t spawn several zillions of rigidbodies but just those on the area on impact. This can be done actually, the issue is that betwen each other there is no structural relationship.I'm pretty sure that is not too hard to add considering the actual structural capabilities. It would instead need to consider each fractured object group the way actually chunks are considered. In case of collapse you could collapse a building considering as a chunk the different groups root geometries without spawning rigidbodies at will. Or even further, If baked to anim, these parent geometries still not fractured, could collapse without using physycs and without trigering the fracture of the objects below its node. Sounds to me like the only way to go massive with destruction.

    Edit: You could even use the fracturing solution for the first step without adding rigid bodies etc.

    Edit 2: please allow planar surfaces.
     
    Last edited: Oct 4, 2015
  50. ZoneOfTanks

    ZoneOfTanks

    Joined:
    Aug 10, 2014
    Posts:
    128
    Sorry for a noob question, but can I synchronize destruction of objects through Unity Network (uNet)? If on authoritative server the object or part of it is destroyed - all players see it the same way? Maybe not exactly the same but more or less o_O