Jump to content
GeT

Bullet sim\fracture for architecture destruction

Recommended Posts

Here is my house destruction WIP. On the videos in this post you can see what I made myself, before I stuck with the problem of a concave geometry in the corners (which can not properly handled by the Bullet engine).

By default, the Voronoi Fracture HDA creates concave geometry in the corners (you can see it on the screenshots below) and if there is another object located in the corner (for example bricks behind the stucco), the simulation starts to explode (because the Bullet improperly complements such geometry to convexity).

I tried to search some info about how to implement a Convex Decomposition algorithm in Houdini (may be HACD*), but I haven't any result yet.

All what I have for now, is my concavity-testing VEX node, that finds all the concave parts, but I have no idea how to cut them on a convex pieces.

It will be cool, if somebody can help me with this problem. Below you can see my tests.

*Hierarchical Approximate Convex Decomposition

http://kmamou.blogsp...ate-convex.html

http://www.khaledmammou.com/hacd.html

http://masc.cs.gmu.edu/wiki/ACD

post-6808-0-56011300-1360256059_thumb.jppost-6808-0-19243900-1360256072_thumb.jppost-6808-0-99676900-1360256088_thumb.jppost-6808-0-34942100-1360256103_thumb.jp

  • Like 2

Share this post


Link to post
Share on other sites

It is not hacd, but you can implement a recursive fracturing setup that slices your model into smaller pieces where there is more concavity.

You then keep some of those small pieces together with constraints to still have big pieces at the end of it. The small pieces are just there to create convex collision geo.

This thread might help you:

Also I would recommend to constrain the bottom part of your house pieces to the ground so they don't jump along with the rest of the house.

  • Like 1

Share this post


Link to post
Share on other sites

why try fracture the whole building ?

fracture the wall individual --> problem solved

Thank for answer. Problem with corners, yes, but on windows and doors no.

It is not hacd, but you can implement a recursive fracturing setup that slices your model into smaller pieces where there is more concavity.

You then keep some of those small pieces together with constraints to still have big pieces at the end of it. The small pieces are just there to create convex collision geo.

This thread might help you:

http://forums.odforc...mbling-effects/

Also I would recommend to constrain the bottom part of your house pieces to the ground so they don't jump along with the rest of the house.

WOW, Thank you for answer, Peter!! I'm very glad, for your answer.

I read this topic http://forums.odforc...mbling-effects/ . All what i have, it is another test on concave, with tetrahedralize SOP(screenshot below). Could you explain me more detail about recursive voronoi split operation?

Also i'm trying to scater a lot of points on concave geo, to achieve more pieces on corners, but simulation is very slow.

Sory for my english.

post-6808-0-12290000-1360328785_thumb.jp

Share this post


Link to post
Share on other sites

I trying to create earthquake, but stuck on gluing wall to ground.

I divided the wall into two parts, the lower part of which will be glued to the floor and the top, which is glued to the bottom of the wall (with glue_constraint).

Then in DOP, in object 'lower wall "in the "glue" I enter the name of the ground object. After that, I connect parts of wall with the glue_network_constraints, and it turns out that the entire wall is glued to the floor (without glue_constraint). Please tell me how to solve this problem

Sorry for my english :blush:

Attached scene file.

And video: fun with earthquake.

Earth_shacke.hip

Share this post


Link to post
Share on other sites

I trying to create earthquake, but stuck on gluing wall to ground.

I divided the wall into two parts, the lower part of which will be glued to the floor and the top, which is glued to the bottom of the wall (with glue_constraint).

Then in DOP, in object 'lower wall "in the "glue" I enter the name of the ground object. After that, I connect parts of wall with the glue_network_constraints, and it turns out that the entire wall is glued to the floor (without glue_constraint). Please tell me how to solve this problem

I am very very very new to houdini but since I am doing something very similar to what you are trying to do I would recommend that you to constrain the bottom parts of your building to the ground as pclas already told you to try. It is worth a try :)

Edited by Hudson

Share this post


Link to post
Share on other sites

yes, use the glue constrain network and add the ground to the mix.

Share this post


Link to post
Share on other sites

Thanks for comments, i do it later. Now little update.

Edited by GeT

Share this post


Link to post
Share on other sites

yes, use the glue constrain network and add the ground to the mix.

i dont think that glue constraints to animated static RBD works

Share this post


Link to post
Share on other sites

i dont think that glue constraints to animated static RBD works

I think you´re wrong. It does work as this simple example shows. As for a deforming static, I haven´t tried...a SOP Solver might be needed there, but animated? it surely works. Check my file.

MovingGround.hipnc

Share this post


Link to post
Share on other sites

Thanks for comments and examples, but i want to reach the wall oscillations. I think, that problem was in 0 velocity in static object(for some reasons, animated object in SOP context has 0 velocity in DOP). I tried to add velocity to statick object, but that not working. Check file please.

MovingGroundWithVel.hipnc

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×