Hi guys for my final year project I'm working on comparing the difference between a few destruction techniques for a game environment, based on looks and computational efficiency. I intend on comparing a model with pre-broken parts (which falls appart on collision), to the same model that uses my shattering algorithm in real time. I will be trying to implement my algorithm using the mesh classes in unity to access c vertex data and I should have everything I need except for a model which has a pre-broken, and nonbroken form. I was wondering if you guys could point me in the direction of any free to use resources which have a solid form and a form in pieces. (A standard wall for example would be ideal). Thanks for reading, Andrew.
-
\$\begingroup\$ gamedev.stackexchange.com/questions/20923/… \$\endgroup\$– HouseCommented May 10, 2013 at 20:10
-
\$\begingroup\$ It's really not clear what you're looking for. Are you looking for realistic shattered parts, so that you can compare the quality of your algorithm? Most things you'll find online (if any) will be generated meshes, which won't help you at all in this case, unless you want to compare your algorithm with other algorithms. I guess there's no way around breaking some of the materials you want to simulate and then compare this with your algorithms results. Or look for videos of shattering materials (preferably in slow-motion) \$\endgroup\$– bummzackCommented May 11, 2013 at 9:06
1 Answer
In practice modular meshes are achieved using a combination of techniques like mesh deformation, noise generation, and subdivision.
Meshes are actually recalculated (or split) at runtime to create several separate meshes. Noise generation is sometimes used to create particle effects and subdivision to create better levels of detail when a split mesh has too few faces.
That being said, it is going to be difficult to find the resources you are requesting. You'll be better off modeling a few cubes yourself to achieve your goal.
Another option is to render a group of cubes that will listen to the collision event, and another group that will not. This way one will fall apart on collision and the other won't.
You could write a small method that will actually combine the meshes of the later group of cubes. Unity3D has a built in method for doing this: CombineMeshes