Generally mutilating things
I''m surprised that there aren''t more occurrences of general mutilation in games. If you want the player to be able to slice something in half, there doesn''t need to be a BSP calculator or anything. Just planar-map an alpha map onto two copies of the thing: one totally opaque on top, and the other opaque on the bottom. If you want things to get dented, you already KNOW what triangle was hit from collision detection, you just have to divide it into three triangles w/ a recessed center vertex with a few lines of code. See what I mean? These things aren''t super-hard to implement. So why aren''t they implemented? Any thoughts?
lntakitopi@aol.com | http://www.geocities.com/guanajam
This is was I keep asking my programer and he is just too lazy. He posts on this forum actually, SOF. Lazy sod. Get programing!
:-)
As Mr Cup always says,
''I pretend to work. They pretend to pay me.''
:-)
As Mr Cup always says,
''I pretend to work. They pretend to pay me.''
As Mr Cup always says,''I pretend to work. They pretend to pay me.''
Him, imagine riddleing a wall with an automatic rocket launcher. Now imagine 20,000 dent triangles. Get the picture? Too many triangles are the result.
Good point... maybe a system could be designed to slowly "fade" the old dents, like bullethole decals do. You know, have the center vertex slowly move back into the original position, and then have the triangle un-divide. The only problem with that arises when one dent is dented again and again.... that could be a pain to program.
lntakitopi@aol.com | http://www.geocities.com/guanajam
lntakitopi@aol.com | http://www.geocities.com/guanajam
Odd thought:
If everything was defined as a mesh {b-spline, nurb, whatever} you could set up a grid of control points. That way when something does get hit, the dent occurs locally, and you just re-tesslate once per hit.
If everything was defined as a mesh {b-spline, nurb, whatever} you could set up a grid of control points. That way when something does get hit, the dent occurs locally, and you just re-tesslate once per hit.
I''m not quite following you Do you mean that you have a highly-tesselated mesh to begin with, or that the positions of the dent vertices are precomputed or what?
lntakitopi@aol.com | http://www.geocities.com/guanajam
lntakitopi@aol.com | http://www.geocities.com/guanajam
I think Duke Nukem 3D has a feature where you can dent garbage cans. :D
- DarkMage139
"Real game developers don't change the rules. Real game developers don't break the rules. Real game developers make the rules!"
"Originality (in games) is the spice of life!"
- DarkMage139
"Real game developers don't change the rules. Real game developers don't break the rules. Real game developers make the rules!"
"Originality (in games) is the spice of life!"
- DarkMage139
quote: Original post by SHilbert
I''m not quite following you Do you mean that you have a highly-tesselated mesh to begin with, or that the positions of the dent vertices are precomputed or what?
What I had in mind was something like this:
1} Define the geometry of any deformable/breakable area as a b-spline, bezier patch {probably easiest}, or NURB. With any of these, an array of control points is needed. You can increase the number of control points for finer deformation detail.
2} Tesslate the geometry at runtime with adaptive LOD {only add polygon''s where there''s more curvature} to generate your polygons.
3} When a deforming collision with one of these, trace the polygon back to the control points that created it. {If multiplayer, send this trivially small amount of information to the other clients.}
4} Alter the control points and re-tesslate the polygons. Only do this when their has been a deforming collision to prevent slow-downs.
Good enough explanation?
another problem.
what would happen if a peticularily large poly was ''dented''? eg, a floor, ceiling...
what would happen if a peticularily large poly was ''dented''? eg, a floor, ceiling...
Good point -- the "denting" might be better for small mecha armor or something generally smaller than walls.
lntakitopi@aol.com | http://www.geocities.com/guanajam
lntakitopi@aol.com | http://www.geocities.com/guanajam
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement