Destruction of Meshes
Posted 19 May 2011 - 10:47 PM
I thought that maybe a recursive split with arbitrary planes. So you draw a plane that divides the mesh into two, then do the same to these two bits etc, but then one would need to cap these bits that are made.
Maybe representing the whole mesh as a voxel set and then using something like bullet physics on each block? That might look a bit poor later on though (though perhaps voxels may have something?)
Essentially the explosion or breakage doesnt need to be utterly correct but a good looking set broken bits with some specification of where the break starts would be the goal.
I believe Red Faction and similar tend to precompute their destruction animations to a degree. I cant seem to find the original post I saw on this. I'd have thought this would be a common problem with a few solutions (even though its a tricky one. Anyone know of any papers or similar on the subject?
Posted 19 May 2011 - 10:59 PM
Posted 20 May 2011 - 12:23 AM
A much less accurate, though I believe simpler solution would be to randomize fracture faults from the point of contact with nearby triangle edges. This requires you have a well tessellated mesh to begin with. From there you use a normal physics engine on the fractured entities to simulate gravity. Particle effects/debris add to the finishing touch.
Posted 20 May 2011 - 10:15 AM
It claims to be using bullet but obviously its in Maya and there it probably some scary precomputing going on there. But yes, I shall check out these links and see whats what. Cheers!
Posted 20 May 2011 - 01:22 PM
I dunno if it would work, but you could project the model onto the cut axis, draw a line, intersect all the lines with the plane, then adjust indices, but then remember you have to actually pass them both as separate objects back into the physics engine.
if you want texture coordinates, that would take interpolation, actually its pretty similar to how youd code the mesh editor in 3dsmax.
Posted 20 May 2011 - 08:56 PM
Precomputing that sort of thing may indeed work for what I have in mind. It might not need to be realtime I reckon. Thanks for the tips guys. It generally does seem like a tricky problem
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users