Search Unity

GDC 2019: UE4 new Physics and Destruction System

Discussion in 'General Discussion' started by Peter77, Mar 26, 2019.

  1. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,610
    During GDC 2019, Epic presented their new physics and destruction system. It was first shown as a short appearance during the Epic keynote or "State of Unreal" talk:

    Today, a few hours ago, they uploaded a 22 min video just about "Chaos" their new Physics and Destruction System.
     
    Ony likes this.
  2. pk_Holzbaum

    pk_Holzbaum

    Joined:
    Jul 26, 2012
    Posts:
    95
    Sooo... what was the question?
     
  3. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,610
    Just letting you know about new cool game development related technology. It's an interesting watch to see how to prepare geometry to make it fractureable as well.
     
    Velo222 and pk_Holzbaum like this.
  4. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    I'm pretty sure there's already a few assets on the Asset Store that do exactly the same thing.
     
  5. Zaax

    Zaax

    Joined:
    Oct 14, 2017
    Posts:
    16
    Nope, currently there are none .There used to be CaronteFX asset, but it got sadly deprecated.
    here are some videos:



    Here is the asset in the Editor.
     
    Last edited: Mar 26, 2019
    Peter77 likes this.
  6. hard_code

    hard_code

    Joined:
    Aug 29, 2013
    Posts:
    238
    Doesn't houdini do this destruction stuff?
     
  7. Zaax

    Zaax

    Joined:
    Oct 14, 2017
    Posts:
    16
    I am not that familiar with Houdini. But as far as I know you cannot have real time fractured destructions in Houdini. You have to bake it into alembic and bring into Unity, but it would not be real time.
     
    hard_code likes this.
  8. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Looks at *Unity roadmap* /disappoint ...they'll have something easy and cool like that eventually right? right?
     
    SparrowGS likes this.
  9. daerom

    daerom

    Joined:
    Sep 4, 2017
    Posts:
    16
    Gekigengar, hard_code and xVergilx like this.
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,155
    Unity's website roadmap exists solely as a way of them saying "Yes, we have a roadmap" to the handful of people who were too lazy to watch the GDC and Unite presentations. :p
     
  11. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    So you're saying they had stuff in the GDC/Unite presentations that isn't mentioned on the roadmap and you're calling me lazy? Sounds like they need to update the roadmap!
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,145
    Worth noting that Unity Physics and Havok both being DOTS based are going to open up a lot of avenues for advanced physics performance like this. UE4 just has a habit of baking these things at a different feature level than Unity does.
     
  13. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Yeah I think people call it 'finished' or production ready.
     
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,145
    No? A fracturing system is a pretty limited use case, as is most of UE4's implementations of things.
     
    MadeFromPolygons likes this.
  15. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Really?!?! really? I don't even I can't
     
  16. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Yep, really.
     
  17. Zaax

    Zaax

    Joined:
    Oct 14, 2017
    Posts:
    16
    Just a Heads up. Ue4 are writing a new physics engine. Destruction is just an early part of it. Eventually its going to replace the Physx with the Chaos engine, just like Unity. But I do expect that Unity 's one would be faster.
     
  18. For what it's worth I think UE usually comes with less bugs, and they try to contain them pretty quickly on the average. But we need to mention that Unity usually comes up with more development, with more platform support and more generic solutions (this probably comes from the fact that UE primarily develops for their own products as support and release as soon as possible). However I haven't tried this particular system just yet.
     
  19. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    There are a few solutions in the Asset Store, and heck you could even use the free solution.
    Blender -> Fracture Tool -> Import to Unity
     
    FMark92 likes this.
  20. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Again, thats not realtime. This is about realtime fracturing, thats not really the same thing at all.
     
    Antypodish likes this.
  21. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    I think Chaos looks quite cool in presentation.
    Unreal probably has different target agenda.
    However, I don't think it fits Unity long term goal.
    But I wouldn't be surprised, if similar destructive system will evolve, as side effect, of moving into DOTS.
     
  22. daerom

    daerom

    Joined:
    Sep 4, 2017
    Posts:
    16
    @GameDevCouple_I The presentation that Peter originally linked to is not real-time either. Watch it -- they clearly do design-time fracture calculations. You can do the exact same thing they do with a couple of the asset store items with a little work. Like I said previously, you can also use Houdini to calculate the fractures at different levels, import them and use a script to determine what fracture level to use, etc which would happen at real-time.
     
    Gekigengar likes this.
  23. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    But does it really matter, if is generated in real time, or predefined? In the end, once playing, it provides desired effects.
    No need for creation of pre-modeled debris by hand.

    But what is more important, if mechanics can handle such many none-convex debris. Which is none-trivial.
     
  24. It matters if you need interactivity (move big object below the crumbling building: the crumbling should interact with the big object). Otherwise, if it's purely for visuals and there is no need to have interactivity, precalculation is good and resource-friendly.
     
  25. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,145
    You can generate fractures beforehand and have them be real time, you just don't get to determine how, specifically, they fracture, but even Epic's solution doesn't handle this. It's "simply" a matter of having some collision checks applied to the fractured components (nontrivial, but considerably less difficult with a DOTS compatible system) and using that for the realtime bits. This is doable, and a nice intermediary between realtime and procedural, but is not exactly easy to implement. There are ways around this, but in both UE4 and Unity, you'd have to write a solution from scratch.
     
    Lurking-Ninja likes this.
  26. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,521
    It's not really a new concept, I've made prototypes with these techniques and the store has had solutions for runtime destruction for years. Looks like the Unreal team just went ahead and committed to a built-in solution.
     
  27. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    I would thought that would be possible already. Is like turning static to dynamic interaction. I think that is mentioned in very end of demo in presentation, when building collapses. But I might misunderstand concept.

    For me real time fractuating means, that if we create / modify shape and number of polygons / vertices at real time, this will get updated accordingly. Just something like shaping a glass when is still hot, but immediately become brittle after we finish editing.
     
    Lurking-Ninja likes this.
  28. Okay, I need to work on my communication skills today. I was trying to referring to real-time fracturing: the building crumbles, onto the big object and the pieces are fracturing based on this interaction. Sorry I wasn't clear enough.
    Simple collision is possible depending on the solution without further calculation sometimes.
    (And I deliberately don't talk about a concrete solution, because they have different solutions for different things and I really didn't dig myself too deep in any of them, also I intended only as a generic comment)
     
    Last edited by a moderator: Mar 29, 2019
    Antypodish likes this.
  29. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,610
    The demo looks pretty cool. Do you know how it affects performance? In some examples, the glass multi-fracturing demo, it looked like it caused some micro freezes.
     
  30. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    You mean feature complete and actually works in production right? No matter the use case, at least it tends to work.
     
    LIVENDA_LABS likes this.
  31. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Sounds like the UE4 one in the original posters comment is "on the fly" in real-time, which is amazing. I'm pretty sure anything on the Unity asset store you have to "prep" the gameobject so it can be fractured in real-time. I've worked with several on the asset store and you have to voronoi fracture the gameobject ahead of time, and then in most cases replace the solid object with your pre-made fractured object via a trigger of some sort.

    Doing all of the fracturing/destruction in real-time without having to prep the object ahead of time would be amazing, and make game development that much easier.
     
  32. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Oh wow I clicked on the first video and was expecting to see lots of destruction and shattering, instead I got 1hour of talking and 5 minutes of visuals. I want my money back!
     
    Last edited: Jul 23, 2019
    Ryiah likes this.
  33. TheGaul

    TheGaul

    Joined:
    Apr 15, 2019
    Posts:
    199
    How will this help my chess engine?

    I lied. I'm not making a chess engine.
     
    Eric2241, iamthwee and JamesArndt like this.
  34. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,610
    Hmmm, but the video link is timstamped and should start where the destruction is about to start, plus I put the time in the spoiler title :)
     
  35. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    I'd have to question what's the major difference between this and their already implemented version of Nvidia Apex? I know it's somewhat niche but it would of been nice to have Apex in Unity, problem is when you're doing pre-baked destruction it's a time sink rabbit hole that adds a lot of needless time to development.
     
  36. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,413
  37. JamesArndt

    JamesArndt

    Joined:
    Dec 1, 2009
    Posts:
    2,932
    At first I chuckled a little. Then I thought of something like the chess match from Harry Potter where the pieces were made of some kind of stone. The pieces would use their weapons on other pieces and crush them to bits. Basically fracturing the other pieces into tons of small bits.
     
  38. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    As cool as that'd look, with chess there is a relatively small, finite number of piece combinations, so you don't really need a dynamic system to get the same effect. The old-school approach of having a few pre-made split models with animations or physics would get the desired result with a fraction of the technical complexity.

    Edit: Yeah, somewhat like that RayFire thing.
     
  39. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    I don't get it, from what I've seen, even Chaos is not realtime.
    Timestamp : 10:16

     
  40. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    When I was a kid I used to play Red Faction on PC which let you destroy things in multiplayer games. To date I've not really got the same destruction gameplay in a multiplayer game since. Maybe I'd play Unreal Tournament 2016 when they finish it if it includes such a system lol.
     
  41. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,145
    Red Faction's destruction was basically entirely BSP brush based with a lot of heavy optimization, which is why it also had that same level of destruction available on the PS2. It's not really compatible with how modern games function and can't really be easily ported to them.
     
  42. czerwina

    czerwina

    Joined:
    Sep 3, 2018
    Posts:
    1
    So the "chaos engine" looks like its free to use in UE4 - so even though the "real time destruction" is working on pre-canned fractures similar to rayfire's asset in unity - its the fact that they're giving it away for free. There are now demo and documentation that wasnt around for the original presentation - https://docs.unrealengine.com/en-US/Engine/Chaos/ChaosDestruction/index.html
     
    Peter77 likes this.