Advertisement

in-game destruction

Started by September 08, 2003 11:05 AM
4 comments, last by jiffmann 21 years, 4 months ago
Hi folks, I''m a newb to all this, so please bear with me if this is an old topic or the wrong forum. How destructible can 3D models be made to be within a game? Right now, there is a limit of ''whole'' or ''destroyed'', but is it possible to be more specific? For instance, if you remember the old game ''Rampage'', where you controlled a big monster destroying buildings. Were those buildings single models, would it be possible to have them be destroyed in such a manner? I don''t mean replacing them with preset changed models, textures, or segmenting them, but actually deforming the model itself to reflect location-based damage. I would think that it would be pretty graphics intensive (possibly? I have no idea...), but were you to tone down the current trend of per-pixel shading, particle systems, and other weirdly wonderful graphical effects, (though keeping dynamic lighting) would such a system be possible? I remember ''Sacrifice'' being able to deform the terrain briefly for some of the heftier spell effects, so how far have we progressed since then? Okai, so that was badly explained, but I never claimed clear thinking I hope you can tell what I''m talking about and offer me a little clearer answer cheers, - John
I don''t know if it''s too graphic intensive but I don''t think so, because it''s collision detection that you would already have in the engine, but you would need it to be very precise.

You would have a model with lots of vertex, and not much space between them, the more vertex the more realistic.

Just detect the collision, search for the vertex that are inside a radium of a sphere using the collision point as the center, and move the vertex withing that range.

The more distant a vertex is from the center of the sphere the fewer the distance the vertex moves.

You should use vectors from the center to the vertex to see exactly how much and in which direction the vertex should move.

I haven''t done this, it''s just the way I would try to do it if I wanted, so just use my comments if no one else replies .
Advertisement
If you build the building using a mesh of bezier patches(Or similar) then deforming it will be a relatively easy task. Just work out which control point is nearest the collision point and move it, the rest of the mesh will move automagically because of how bezier patches work...
If u want a realistic (at least visually correct) physic engine with destroying capabilitys... well, it''s pretty hard to do it efficiently.
Every material should have a lot of variables for reflecting realistic behavior. It''s not the deal having thousends of vertices just for colliding pourposes, you must created vertices and collapse vertices at real time.
You should know CC techniques, it''s not a trivial thing to resolve large sistems of equations...
...but... all of these it''s very interesting... so give it a try, but i worn you, like all good problems in life, comming with a decent solution it''s a hard task.

Good Luck!!! and good fight!!!

P.D: i''m not an english speaker...
Well, for big things like buildings, I''d say that you''d have to have the components of the building (girders, walls, panels, tiles, etc.) modelled in. Not all of them, of course, just enough to apply some physics to, and then you could handle the rest with particle generators. There are existing systems with "stages" of destruction, and there are fairly open-ended destructable environments (Red Faction did fairly well with this sort of thing), but the map design would be horrible tedious, since you''r have to employ some way to prevent players from tunneling out of the map or trapping themselves with fallen debris, since that sort of thing kills gameplay.

I don''t doubt that it can be done, and I expect to see it before too long, but it''s going to take some hardcore engineering to get it down properly, and might even require a few generations of hardware development before it can be properly implemented.

On a related note, how hard is it to incorporate booleans into a real-time engine? I think bulletholes, craters and tunnels could probably be done with that sort of thing, but I''ve never seen it done without ray-tracing, and I imagine that''s out of the question until we have more powerful hardware to calculate it in real-time.
quote:
Original post by Iron Chef Carnage
On a related note, how hard is it to incorporate booleans into a real-time engine? I think bulletholes, craters and tunnels could probably be done with that sort of thing, but I've never seen it done without ray-tracing, and I imagine that's out of the question until we have more powerful hardware to calculate it in real-time.


I believe Red Faction actually uses boolean operations to carve out craters. The calculations are divided between multiple frames because they are very CPU intensive.

[edited by - EasyRaider on September 9, 2003 6:43:46 AM]
-------------------Our only true limitis our imaginationAim for the horizonbut watch your step

This topic is closed to new replies.

Advertisement