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

Exploder [RELEASED]

Discussion in 'Assets and Asset Store' started by reindeer-games, Jul 12, 2013.

  1. Bradamante

    Bradamante

    Joined:
    Sep 27, 2012
    Posts:
    300
    I am considering purchasing this, but I wonder if it suits my game. It's a top-down 2.5D space game with a low-poly look.

    Using Exploder, can you set it to only create a low number of pieces? Like 5-7 larger pieces, and the some smaller ones? Do they have to be all the same size?

    How do the pieces disappear? Do they fade out? Sink down? How could I make them slow down instead of blasting away at constantly the same speed?
     
  2. FrozenTarzan

    FrozenTarzan

    Joined:
    Aug 8, 2013
    Posts:
    17
    Hi, i reproduced the problem in the "SceneSimple" Demo. Just copy the following code into the Demo-Script and click the button. All objects except one cylinder explode. You can deactivate any other object and then an other object refuses to explode. It seems that something in the queue is not processed correctly, this would explain why there are random objects in my game that cannot be destroyed, when my moving object hits them too fast (multiple at the same "time" / in the same frame).

    using System.Collections.Generic;
    using System.Linq;
    using UnityEngine;
    using System.Collections;

    public class DemoSimple : MonoBehaviour
    {
    public ExploderObject Exploder;
    private GameObject[] DestroyableObjects;

    void Start()
    {
    DestroyableObjects = GameObject.FindGameObjectsWithTag("Exploder");
    }

    void OnGUI()
    {
    if (GUI.Button(new Rect(10, 10, 100, 30), "Explode!"))
    {
    foreach (var o in DestroyableObjects)
    {
    ExplodeObject(o);
    }
    }
    }

    void ExplodeObject(GameObject gameObject)
    {
    ExploderUtils.SetActive(Exploder.gameObject, true);
    Exploder.transform.position = ExploderUtils.GetCentroid(gameObject);
    Exploder.Radius = 1.0f;
    Exploder.Explode();
    }
    }
     
  3. Setmaster

    Setmaster

    Joined:
    Sep 2, 2013
    Posts:
    239
    Is it possible to make the object break only in a specific area, like shot the top of a barrel and only the top of it break instead of the entire thing exploding?
    Can you enable the object to be damaged if it falls?
     
  4. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi,

    1) exploding of a specific area is not possible. Technically it is possible but not with current version of Exploder.

    2) To break an object when it falls is possible, but you have to do a little bit of scripting, you can use Crack() method which pre-calculate fragment pieces and you have to write a routine to detect that an object fell. And when it fell down you can just call ExplodeCracked() and it will do the effect. Also don't forget to use mesh colliders and low force (0-1).

    I will make another simple demo with falling and breaking objects....
     
  5. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547

    Ok thanks for the tip, I will try your code and find the problem.
     
  6. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi,

    you can set number of target pieces, however mostly they are the same size. The algorithm works like this:

    1] cut the mesh into two pieces
    2] foreach mesh piece call 1]

    So basically you cut recursively until you get target number of pieces.

    Fading out is a part of my next update, in current version pieces just disappear in one moment. However you can choose if you want them to disappear outside of camera (when you don't see them) or you can just set a timeout.

    If you want to slow them down, you can play with Force value. However by default all fragment pieces are box colliders for performance reasons so they will "explode" with any lower settings. But if you enable mesh colliders you can achieve something like http://forum.unity3d.com/threads/190198-Exploder-RELEASED?p=1303709&viewfull=1#post1303709
     
  7. Bradamante

    Bradamante

    Joined:
    Sep 27, 2012
    Posts:
    300

    Well, can I set the initial speed and lifetime? So that the pieces would disappear after x seconds after moving with y speed?

    If not fading out or slowing down, could I make them smaller over lifetime?

    In my space game there would be no gravity. So, will the parts fly in all directions? Or, is there some forced gravity setting, that will make the parts move down?

    EDIT:
    The description says you need to use Tags. How does this work? Unity allows only one tag per GameObject, so the objects in my game are all already tagged. How does Exploder fit in?
     
    Last edited: Sep 7, 2013
  8. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Yes, you can set initial velocity by setting Force value and you can set timeout for deactivating fragment pieces (Deactivate option).

    Making them smaller would be possible by scaling them down. I can add it as a part of next update.

    All parts are rigid bodies with physical properties you would expect. There are no force gravity settings, if you turn off gravity pieces will fly in all directions. You can also specify explosion vector if you wish to make them fly in different direction. But by default they fly in every direction.

    In this case you can enable option "DontUseTag". You only have to assign "Explodable" script to your game object.
     
  9. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi, maybe you know, in exploder folder is also a JavaScript DemoSimple.js with an example how to use Exploder from JavaScript code. I use SendMessage(...) for communication between js and c#.

    Code (csharp):
    1.  
    2. // java script call to explode object
    3. Exploder.SendMessage("Explode");
    4.  
    5. // call this to change exploder parameters
    6. Exploder.SendMessage("SetFromJavaScript", hashtable);
    7.  
    If you still have problems with java script I can make you simple demo with raycasting and exploding.
     
  10. Setmaster

    Setmaster

    Joined:
    Sep 2, 2013
    Posts:
    239
    Is this implementation on the roadmap ?
     
  11. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    That's a good question. Local destruction might be interesting but how would you specify the area? Just from design perspective how would you decide what is a destroyable area and what is not. I was thinking about it and I am not so sure about it, maybe if you have some example or idea that would help me understand it better.
     
  12. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi there,

    I have just fixed the queue problem, it was really happening on several objects and I also fixed another hidden bug inside update. I can send you patch if you are hurry, otherwise it will be part of the next update which should be out by the end of this week.
     
  13. FrozenTarzan

    FrozenTarzan

    Joined:
    Aug 8, 2013
    Posts:
    17
    The end of the week sounds great! :)
     
  14. Setmaster

    Setmaster

    Joined:
    Sep 2, 2013
    Posts:
    239
    Something like this maybe? http://goo.gl/OCkB1k
     
  15. contempt

    contempt

    Joined:
    Jul 31, 2012
    Posts:
    88
    I recently purchased Exploder and I was wondering if it's possible to use Exploder to generate an "Exploded View" of a model? So instead of generating fragments can it "explode" whole meshes a set distance from a central point? Any feedback would be greatly appreciated. Thanks.
     
  16. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    You mean to generate exploded model - single model, not set of fragments? Yes, that shouldn't be a problem, I can simply merge fragments into one mesh after xxx milliseconds of explosion. I will add it to next update.
     
  17. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    I know about this tool, it is great. However they use quite a different approach. I believe that everything you see (fragments) in that scene is already pre-generated from editor. That makes all the explosion much easier. Exploder does not pre-generate anything, all explosions are calculated in runtime in the moment of calling Explode(). That's one of his strongest features, you don't have to worry about pre-fragmenting, just go and shoot. Anyway, I understand now better what you mean by a specific area, it can be radius in which everything is destroyed and nothing else. I will think about it, this feature would be nice.
     
  18. contempt

    contempt

    Joined:
    Jul 31, 2012
    Posts:
    88
    Well there could be multiple meshes that comprise a GameObject that I would want to separate. I'm building a bionic arm game that would use a Leap Motion controller to control a robotic arm that can be used to complete various challenges.

    You design the arm and choose from a variety of options that will help you complete each set of tasks.

    I want the arm to assemble around the player's hand (using a webcam to provide mirrored feedback).

    When the player wants to make a modification to the arm the 3D robotic arm's parts split apart and float around the player's arm while they tap on different components to make changes via the HUD.

    So instead of fragments being created by Exploder the meshes in the Prefab are expanded from a central area (in this case the player's arm). Or to explain it in another way, instead of cutting the meshes that make up the robot in your demo the robot is disassembled. Thanks for the quick response.
     
  19. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Ok, I understand now. I think your request is a little bit out of exploder scope. If I understand you correctly you would like to have a set of models (prefabs) attached together and expand (move) them from the center. You can do this very easily just by setting the center point and moving your prefabs in direction from the center. Using Exploder for this sounds like an overkill to me :). I think you can have a parent game object and add all your parts as children including the center point (just empty game object). Then create a simple script that takes all parts and center point and move them in direction from center point. You can move the pieces in update loop so they will animate for better visual output.

    I hope this was useful, feel free to ask if you have any problems.
     
  20. contempt

    contempt

    Joined:
    Jul 31, 2012
    Posts:
    88
    Thanks. That was the approach I was taking, it just wasn't working exactly the way I want to yet. Thanks for the advice.
     
  21. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    New version of Exploder is already on the asset store.

    features:

    * added option for fading out fragments by scaling down to zero
    * and another option for fading out fragment material alpha (only works if the material supports it)
    * bugfixes

    Fading out video example:

    [video=youtube_share;0i6P7pNLVAQ]http://youtu.be/0i6P7pNLVAQ
     
  22. FrozenTarzan

    FrozenTarzan

    Joined:
    Aug 8, 2013
    Posts:
    17
    Hi reindeer games,

    I'm debugging for about 3 hours now and I can't find the reason... the bug still exists!

    When I set up a scene and call Explode(someObject) for a number of objects in a single frame, everything works fine. To test the behavior of the queue visually I set the number of fragments to a huge number and watch the gizmo flying from position to position.

    As I described in my earlier posts, I have a fast moving object colliding with the breakable objects. At first I thought that you have solved the problem, but again sometimes a breakable object refuses to explode. I have debugged into my and your code and the following happens:

    * Explode is called with the correct gameObject
    * The GetCentroid method returns the correct value
    * The Explode(ExploderObject.OnExplosion callback) method of ExploderQueue receives the correct settings and enqueues it
    * Then in the Update, the queue count is greater than 1 and the preprocessing begins...
    * From now on I cannot really tell where the bug lies...

    It is extremely hard to debug the code because I don't know how to set useful breakpoints, since I don't want to follow dozens of objects that explode properly until I find the wrong one.

    * Why do you use Random numbers for the ids, could this be a problem?!
    Method: ExploderQueue::processQueue Line 97
    peek.id = Random.Range(int.MinValue, int.MaxValue);

    * The state and switch in the Update method is... I'm sorry, but this is so horrible, I can't even tell. A lot of gotos and stuff, that is really hard to debug. This should be handled by a simple state-machine /pattern.

    I will try to set up a scene to reproduce the bug. I guess that it has something to do with the timing when a new explosion is added to the queue. So when adding all the objects with a loop, it seems to work. When adding one object after the other, it seems to work to. When adding objects while others are being processed, it might go wrong or miss some of them... not too sure...

    I need this plugin to work and have wasted a lot of time already. Hopefully you/we can fix this soon :)

    EDIT: Now I have a scene where the bug appears 2 out of 3 starts, here is a short video:
    https://dl.dropboxusercontent.com/u/15216944/ExploderBug.avi
    The glasses are all the same (from a prefab) and the second one from the top does not explode... or at least most of the time -.-
     
    Last edited: Sep 12, 2013
  23. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi, thanks for the demo, I will look at it later today.

    About your comment, I am not using "gotos and stuff" from ignorance, I am coming from c++ environment and this is the only way how to achieve falling-through in c# switch statement, read more in this post: http://stackoverflow.com/questions/174155/switch-statement-fallthrough-in-c. The code might not look like "from the book" but this is highly optimized code, by this and other similar "weird" techniques I am saving every millisecond for best possible performance.
     
  24. FrozenTarzan

    FrozenTarzan

    Joined:
    Aug 8, 2013
    Posts:
    17
    So here is a complete Unity project. Just hit play... and again... and again... until it happens ;-)
    [EDIT: link removed. Do not publicly post Asset Store items]
     
  25. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Okey,

    I got it now, you can delete the project from drobbox now.
     
    Last edited: Sep 12, 2013
  26. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Hello,

    Wonderful package you have here. I purchased both of your packages today without knowing you were the author ;)

    What I would like to do is simply crack an object into its pieces at Start(), but keep the object together as one. If the user clicks on the rock, that piece where the raycast hit will then explode as normal while the other pieces still remain. It sounds like it's possible but the documentation provided doesn't go into much detail.

    Thanks!
     
  27. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hello,

    thanks for buying the package and for your kind words, it always encourage me to next work.

    The "cracking" feature is there, sorry for a little bit fuzzy documentation, this feature was made as a request for one of the customers and I haven't updated docs properly. However you can find working example of cracking in "DemoClickExplode". If you open DemoClickExplode.cs, you might notice in first few lines:

    Code (csharp):
    1.  
    2. // to crack and explode use this macro
    3. // crack by left mouse button, explode after by right mouse button
    4. #define ENABLE_CRACK_AND_EXPLODE
    5. //#define TEST_SCENE_LOAD
    6.  
    Do as it says and you will be able to see how to crack explode objects in the demo.

    In your case just use method Exploder.Crack(OnCracked) in your start script and call Exploder.ExplodeCracked(OnExplosion) on your mouse click. Just make sure Exploder is initialized (called start()) before your script start().

    If you have any problems, let me know here.
     
  28. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,694
    hello reindeer games,
    question
    could your plugin be used to create a gore system on skinned meshes where only some body parts get ripped of only where they r hit and the rest of the mesh doesnt explode?
     
  29. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hello, unfortunately it couldn't. Exploder is working only with a mesh as a whole, local destructions are not supported. It would require significant change in algorithm, it might be interesting feature but I don't have a plan to do it in near future.
     
  30. mlohstroh-playful

    mlohstroh-playful

    Joined:
    Sep 18, 2013
    Posts:
    11
    Heya,

    I am doing a project where I need to further blow up the fragments, but I also need allow the user to target them. So in my explosion callback, I ask for a list of the past N fragment where N is the number of the max previous fragments. Then I saw that you could do Explode() on the fragment, but that doesn't do anything. So then when I target the fragment again, I make a explosion object at the position of the fragment (or targeted object), but that instantly destroys the object without any explosion. I'm not sure if I missed a configuration or what, but is there an option to explode fragments further?
     
  31. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi,

    yes, there is a method Explode() on fragment class, but it is only for internal use, don't use it for explosion. To explode fragments you just need to run Explode() on exploder object again. Just make sure you have "ExplodeFragments" set to true. It just basically set "Exploder" tag to all fragment objects. I am not sure why all objects disappear but make sure that you don't have set timeout to some minimum value. Try the "ExplodeFragments" parameter and let me know if you have any problems.
     
  32. mlohstroh-playful

    mlohstroh-playful

    Joined:
    Sep 18, 2013
    Posts:
    11
    Ah, I figured out what I was doing wrong. I was creating a new explosion object on each button press and that was refreshing the fragment pool and "destroying" my modified fragments. I now am using a static instance of an explosion object and moving that around and not destroying it.
     
  33. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Great, I am glad you fixed it!
     
  34. Krileon

    Krileon

    Joined:
    Oct 30, 2012
    Posts:
    642
    Is it possible to explode a mesh without having to use or move around the exploder? It would seam really handy to be able to explode meshes from script without needing to move an object as what happens in a multiplayer scenario and the object gets moved before 1 explosion is called due to a second explosion moving it and trying to explode.

    Edit: Can there be multiple exploders in the scene? Maybe assign exploder and explodable to an object that explodes?

    Edit: Ok, looks like I can have multiple Exploder Objects and I just check "Explode Self" then call Explode() on it. This way it only blows up its self.

    Edit: Found another issue. If static batching is used then it can't destroy anything and it results in a ton of errors thrown to console. Maybe makes sense to not work with static batching, I don't know, but it should at least check that the object isn't static if it can't explode static objects. It complains about not being able to access tangets, verts, uvs, etc...
     
    Last edited: Nov 10, 2013
  35. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hello Krileon,

    1] Exploder works internally as a queue so you don't have to worry about calling explode and moving exploder to a new position, every time you call Explode, Exploder will remember its position and you can immediately move exploder object to a different position like this:

    Code (csharp):
    1.  
    2. exploder.transform.position = pos0;
    3. exploder.Explode();
    4. exploder.transform.position = pos1;
    5. exploder.Explode();
    6. exploder.transform.position = pos2;
    7. exploder.Explode();
    8.  
    You can call this code as it is and it will execute 3 explosions in positions pos0, pos1 and pos2.

    2] As you found out you can have multiple exploders in the scene, but it is not recommended, the library was built to support only one exploder object in the scene, it is really not necessary to have more than 1 exploder in the scene since it uses static pool of fragments and every explosion has to wait in the internal queue.

    3] Static batching is a good point, I never thought about it, I will add the check for static object in the next version, thanks for you feedback.
     
  36. Krileon

    Krileon

    Joined:
    Oct 30, 2012
    Posts:
    642
    That causes a sync issue though. For example if 2 grenades explode at the same time then only 1 can use Exploder or the second grenade has to wait for the first to finish. This basically cause a lag effect so it can't be used in multiplayer at all.

    I suggest, if possible, upgrading it to function without the exploder radius thing. Have it so you can call an explosion from script and it explodes the object that called it. This will allow completely script driven explosions without having to deal with the radius stuff.

    At any rate I had to switch to a particle based solution as unfortunately I just lost too much performance trying to make it use multiple Exploder instances instead of just 1 as 1 just didn't work for my needs. Plus I had to turn static batching off which is a big not happening for my game (it's tile based, so there's a lot of duplicate objects that can be batched together). Regardless though this is pretty awesome!
     
  37. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    I understand what you mean now, unfortunately you wouldn't help much with 2 exploders at the same time. The reason for the waiting queue is performance. Exploder can be very CPU intensive (during calculation it takes as much time as specified in FrameBudget parameter) so running 2 exploders at the same time will likely cause frame(s) lag.

    Ok, good idea, I will do something about it.

    Thanks, I'll run more tests with static batching and fix the errors, update docs and add some warnings to console.
     
  38. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I just integrated Exploder into my space game, and it's working well. It's very cool, especially along with a sound effect and particle explosion.

    There's just one thing I want to change. Is there a way to inherit the velocity of the original GameObject? At the moment, it's leaving pieces behind; I'm sure it'd look a lot better if the chunks "came long for the ride."

    What I did for the particle effect part of my explosions is just manually set the position based on the original ship GameObject's rigidbody.velocity, like this (in FixedUpdate):

    this.transform.Translate(_velocity * Time.deltaTime, Space.World);

    Is there a way to do something similar for an initial velocity on the exploded chunks? The idea is that they'd still explode outward in the same relative way, but essentially "follow" the momentum of the ship at the time of impact.

    I played around a little with setting UseForceVector and setting the ForceVector, but I haven't yet figured out the proper value to set, assuming on the right track. Does ForceVector let me apply only an initial force? If so, I could use some help figure out what to set that to.

    Thanks!
     
  39. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi,

    thanks for buying the package, I am really glad you like it.

    Inheriting the velocity is a good idea, I already made some changes about inheriting mass and velocity in the latest version that was just published on the Asset Store early today (1.1.4). Please try it and let me know if it works for you, otherwise I will make a fix for you.

    Regards.
     
  40. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Oh wow, I must have just missed it when I added Exploder to my project today. That's so great that you've already put that feature in. I pulled down the new version. I take it from the code that it's supposed to automatically assign the velocity and angularVelocity and the mass divided my the number of fragments. Is that new?

    So far it doesn't seem any different.

    I put debug lines in ExploderObject.Postprocess where it's checking if(mesh.rigidbody), but apparently mesh.rigidbody is NULL at that point. I certainly have rigidbody components on my ships (that's how I'm getting the velocity I apply to my particle system), so I'm not sure what that's all about. Hopefully this is getting close though!

    UPDATE: I think I got it working, but it did require a couple of changes to ExploderObject.cs. I can post what I did here or I can PM you if that's better.
     
    Last edited: Nov 26, 2013
  41. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Yes, that's new.

    Great job, you can PM me your changes, I will look at it later today. Thanks!
     
  42. sparkyman

    sparkyman

    Joined:
    May 3, 2009
    Posts:
    21
    Hi Reindeer Games

    Is there a way of getting a crumbling effect? make the fragments small and gently start them disintegrating only in the Z axis ( or any single axis)?

    Cheers
     
  43. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi there,

    I think you can, there is an option for fixing fragment positions in custom axis:

    You can try to play with these parameters in Exploder object inspector view:

    Fragment Options -> Freeze Position X/Y/Z
    Mesh colliders = true
    Force = small number below 5

    Let me know if you have any problems.
     
  44. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    Hi,
    Just bought this.
    Can one add a timer to an object to set when it explodes?
    tx.
     
  45. MrSkiz

    MrSkiz

    Joined:
    Jul 4, 2012
    Posts:
    4
    Just bought it too, so promising and easy to use. Thanks !

    @shwa: I think you could call the function Explode() in a coroutine right after a "yield WaitForSeconds (yourTimer);"
     
  46. RvBGames

    RvBGames

    Joined:
    Oct 22, 2013
    Posts:
    141
    Very nice. It worked like a charm out of the box. Does anybody have the syntax for explosion callback? It appears that it isn't in the documentation, and I was trying not load the demo scene, etc. to find out. I just imported the bare minimum to my project.
     
  47. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    Hi,

    thanks.

    You can look at very simple example in DemoClickExample.cs. But anyway:

    Code (csharp):
    1.  
    2.    // this is the callback
    3.    public delegate void OnExplosion(float timeMS, ExplosionState state);
    4.  
    5.     // example callback
    6.     void OnExplosion(float time, ExploderObject.ExplosionState state)
    7.     {
    8.         if (state == ExploderObject.ExplosionState.ExplosionFinished)
    9.         {
    10.             // this is called when the explosion is finished
    11.         }
    12.     }
    13.  
    Sorry for missing docs.

    Regards.
     
  48. RvBGames

    RvBGames

    Joined:
    Oct 22, 2013
    Posts:
    141
    Thank you that helped. I'm having a problem getting the fragments to destroy after a TTL. Is this possible?

    Also, does the original GameObject Update get called after Explode is called?

    And I am reading through DemoClickExplode now. . .
     
  49. reindeer-games

    reindeer-games

    Joined:
    Mar 5, 2013
    Posts:
    547
    You can get a list of active fragments from FragmentPool, please look at another example in Examples/HowToGetActiveFragments.cs.

    The original GameObject is deactivated or destroyed, it depends on Exploder settings, as you can see in Exploder inspector view:

    DestroyOriginalObject - true, will call Destroy()
    - false, the original object is deactivated after explosion

    So to answer you question, the original objects is not Updated after explosion, because it is destroyed or deactivated.
     
  50. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    Thank you for very cool asset, purchased it as soon as saw the demo.
    But I have a problem with some objects, could you please have a look on error:

    Not allowed to access triangles on mesh '...'
    UnityEngine.Mesh:get_triangles()
    Exploder.MeshCutter.MeshCutter:Cut(Mesh, Transform, Plane, Boolean, List`1) (at Assets/Exploder/Exploder/MeshCutter/MeshCutter.cs:189)
    Exploder.MeshCutter.MeshCutter:Cut(Mesh, Transform, Plane, Boolean, List`1, Color, Vector4) (at Assets/Exploder/Exploder/MeshCutter/MeshCutter.cs:176)
    ExploderObject:processCutter(Int64) (at Assets/Exploder/Exploder/ExploderObject.cs:1009)
    ExploderObject:Update() (at Assets/Exploder/Exploder/ExploderObject.cs:834)