Unreal Engine 3 (2.0) Destructible Environments
Unreal Engine 3 (2.0) Destructible Environments
I have watched the Unreal Engine 3 improvements ( GDC 08 ) over and over again. Everything they showed seemed pretty standard, except for the destructible environments to me.
I know that all this is probably done in the physics engine with PhysX, but the graphics rendering part of the destruction is what is getting me. Things get destroyed, from the ground, and textures are still are the parts that aren't even shown. (When not destroyed.) E.g. the ground doesn't have one texture on top of it, but instead textures on every single part of it. They also have triangles (the wire) in the mesh. Are they really doing this, or not?
So I am sure we have all seen the rudimentary physics technical demos where there are thousands of seperate bricks lain in a waill, and an object crashes into them. Is this in effect, what Epic is really doing? Are their modelers really spending all that time to model individual seperate parts so that they can be breakable? (Like the bricks in physics technical demos.)
I know that all this is probably done in the physics engine with PhysX, but the graphics rendering part of the destruction is what is getting me. Things get destroyed, from the ground, and textures are still are the parts that aren't even shown. (When not destroyed.) E.g. the ground doesn't have one texture on top of it, but instead textures on every single part of it. They also have triangles (the wire) in the mesh. Are they really doing this, or not?
So I am sure we have all seen the rudimentary physics technical demos where there are thousands of seperate bricks lain in a waill, and an object crashes into them. Is this in effect, what Epic is really doing? Are their modelers really spending all that time to model individual seperate parts so that they can be breakable? (Like the bricks in physics technical demos.)
Last edited by Halifax on Sun Mar 16, 2008 8:43 pm, edited 1 time in total.
TheQuestion = 2B || !2B
I suppose they could have a really good way of re-creating meshes or something as they're destroyed. So a box would be just a simple box but when cut in half it becomes two simple boxes etc.
Or it could just be physx doing it. With cloth in Physx you can make it tear-able and in that case you have to give physx some extra memory for vertices created by the tearing process, so it basically makes the mesh two seperate meshes once it's torn in half. Then you just render those new vertices and you get the torn up mess of a cloth.
It would be good to see these videos, i assume they're on youtube or something?
Or it could just be physx doing it. With cloth in Physx you can make it tear-able and in that case you have to give physx some extra memory for vertices created by the tearing process, so it basically makes the mesh two seperate meshes once it's torn in half. Then you just render those new vertices and you get the torn up mess of a cloth.
It would be good to see these videos, i assume they're on youtube or something?
Oh well I figured anything from Epic Games was as good as seen. But yes, I am sorry I didn't think of that. I never thought that PhysX could actually do all the re-creation of the vertices, then just pass it to UE3, and they just render. I am going to have to look in to this, because if that is possible, then that would be a cool tech demo for Irrlicht...
Oh, and before I forget, here is the video link:
http://www.gametrailers.com/player/30824.html
General Overview of what he talks about just got integrated with UE3:
- Head-to-head comparisons of Gears of War before and after with the new engine
- Ambient Occlusion
- High Density Crowds using Fauking Technology (I doubt this could be for anything other than cutscenes; the characters are too stupid.)
- Dynamic Fluid Surfaces (Basically what is in the Ogre tech demo. Nothing new.)
- Matinee Improvements (Cutscene editors.)
- Soft Body Physics (Some cools meat cubes, and water balls with Ageia PhysX.)
- Destructible Enviroments (The only really cool part imho.)
Oh, and before I forget, here is the video link:
http://www.gametrailers.com/player/30824.html
General Overview of what he talks about just got integrated with UE3:
- Head-to-head comparisons of Gears of War before and after with the new engine
- Ambient Occlusion
- High Density Crowds using Fauking Technology (I doubt this could be for anything other than cutscenes; the characters are too stupid.)
- Dynamic Fluid Surfaces (Basically what is in the Ogre tech demo. Nothing new.)
- Matinee Improvements (Cutscene editors.)
- Soft Body Physics (Some cools meat cubes, and water balls with Ageia PhysX.)
- Destructible Enviroments (The only really cool part imho.)
TheQuestion = 2B || !2B
Wow.... that water is to die for! Although when it's used as an ocean it doesn't react quite as well... when the pillar is chucked into the water the ripples and waves move too quickly. The same principles can't be applied to shallow and deep water, i imagine they've not taken the depth of the water into account there.
The soft body physics there is something i'm trying to include in my Alestorm game; to have a soft body boss like a bag of air who starts off fully pumped up and each shot (to a specific target area) will reduce the inner pressure so the bag of air eventually becomes deflated.
The destructible physics is rather impressive there i have to say... i wouldn't say that's something that's a simple thing to do with physx, it would take quite a lot of extra work on the engine's side to get such a nice result.
Damn, i should sooo be using the unreal engine for my alestorm game!
The soft body physics there is something i'm trying to include in my Alestorm game; to have a soft body boss like a bag of air who starts off fully pumped up and each shot (to a specific target area) will reduce the inner pressure so the bag of air eventually becomes deflated.
The destructible physics is rather impressive there i have to say... i wouldn't say that's something that's a simple thing to do with physx, it would take quite a lot of extra work on the engine's side to get such a nice result.
Damn, i should sooo be using the unreal engine for my alestorm game!
*cough* If you got the money then...
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
Cool. o_oTheBeef wrote:What, no one remembers Red Faction?
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
PhysX is probably doing what the upcoming version of NewtonGD is doing:
http://fr.youtube.com/watch?v=a2FxFNXN-Ak&feature=user
There's no "precalculations" - everything is done in real-time (no predefined breaking patterns, it can break in any way). The Newton engine calculates the texture coordinates, vertex positions, vertex normals, and everything else needed to update the visual mesh.
http://fr.youtube.com/watch?v=a2FxFNXN-Ak&feature=user
There's no "precalculations" - everything is done in real-time (no predefined breaking patterns, it can break in any way). The Newton engine calculates the texture coordinates, vertex positions, vertex normals, and everything else needed to update the visual mesh.
Hmm, well I am sorry to say but Newton is a little behind. Especially for the fact that "The AGEIA PhysX SDK is now free for use on PC under our new EULA--for both commercial and non-commercial use" (devsupport.ageia.com 1).
@JP: Wow, that sounds like a cool idea. And yeah I was thinking it was more than PhysX when I watched the demo too. But trust me, I don't think that all that water there was dynamic. I thinking they had some imposter water in there after you go out a little bit.
I imagine that UnrealEd provides some great features to edit those soft-body physics, and destructible environments.
EDIT:
It appears that Ageia provides its own TetraMaker soft body physics. And from the understanding that I am gaining, it works like how you described JP. You create the material parameters, etc., and then it interacts with the world, and gives you the updated vertices basically. Then your would plug those vertices into you rendering engine. I still don't know about the destructible environment though, but eh.
@JP: Wow, that sounds like a cool idea. And yeah I was thinking it was more than PhysX when I watched the demo too. But trust me, I don't think that all that water there was dynamic. I thinking they had some imposter water in there after you go out a little bit.
I imagine that UnrealEd provides some great features to edit those soft-body physics, and destructible environments.
EDIT:
It appears that Ageia provides its own TetraMaker soft body physics. And from the understanding that I am gaining, it works like how you described JP. You create the material parameters, etc., and then it interacts with the world, and gives you the updated vertices basically. Then your would plug those vertices into you rendering engine. I still don't know about the destructible environment though, but eh.
TheQuestion = 2B || !2B
Yeah, considering Newton has 1 nice, determined programmer, and PhysX has 100s of paid programmers -_-Halifax wrote:Hmm, well I am sorry to say but Newton is a little behind. Especially for the fact that "The AGEIA PhysX SDK is now free for use on PC under our new EULA--for both commercial and non-commercial use" (devsupport.ageia.com 1).
Tell me, will a PhysX developer personally answer all your questions and provide you with ready-to-go code for stuff you need but can't make? Does PhysX even have some kind of support forums?
I was not trying to belittle the accomplishments of the developers, nor promote the accomplishments of the other developers. I was simply looking at both Newton, and PhysX from a library perspective, and analyzing their positions respective to each other.agi_shi wrote:Yeah, considering Newton has 1 nice, determined programmer, and PhysX has 100s of paid programmers -_-Halifax wrote:Hmm, well I am sorry to say but Newton is a little behind. Especially for the fact that "The AGEIA PhysX SDK is now free for use on PC under our new EULA--for both commercial and non-commercial use" (devsupport.ageia.com 1).
Tell me, will a PhysX developer personally answer all your questions and provide you with ready-to-go code for stuff you need but can't make? Does PhysX even have some kind of support forums?
PhysX does in fact have a developer support forum. I cannot attest directly to a PhysX developer answering my question, but why should that matter when there are tons of experienced programmers lurking throughout the developer forums.
And why do you seem partial to starting arguments, even though my statement stands correct regardless of the variables?
TheQuestion = 2B || !2B