Jump to content
vi_rus

Realistic Dynamic Fracturing with Bullet

Recommended Posts

It's really cool! I am curious about the bending steel? That isn't with bullet, or is it? Wire Solver?

Share this post


Link to post
Share on other sites

 that looks really nice..  are you swapping out smaller pieces for bigger pieces in a sop solver ?  Or using the voronoi fracture solver somehow ?  Any details you'd like to share on the setup ?

 

 thanks

 

 -G

Share this post


Link to post
Share on other sites

It's really cool! I am curious about the bending steel? That isn't with bullet, or is it? Wire Solver?

 Based on the title, I believe is bullet.

 

Very nice rnd Sergei, inspiring.

Share this post


Link to post
Share on other sites

It's really cool! I am curious about the bending steel? That isn't with bullet, or is it? Wire Solver?

  

Thanks! Yes, that's all bullet. I tried to make it with wires at first, but wire solver doesn't support interaction with pack primitives.

that looks really nice..  are you swapping out smaller pieces for bigger pieces in a sop solver ?  Or using the voronoi fracture solver somehow ?  Any details you'd like to share on the setup ?

 

 thanks

 

 -G

I detect pieces with highest stress level and fracture them manually. After this I glue closest pieces together.

Share this post


Link to post
Share on other sites

Hey Sergei ,

can you tell us a little bit more about how you did the bending structure with bullet ?

 

Looks very cool though

Edited by Saber

Share this post


Link to post
Share on other sites

Hi Sergei, 

 

I took my own approach and did something similar. but the new fractured geo doesn't sim properly. Can you take a look. thanks in advance.  

dynamic_fracture.hipnc

Share this post


Link to post
Share on other sites

that denting is breathtaking, ive been doing denting my own, but  doing unpack and pack inside a sopsolver is very expensive so as having any foreach. are you actually simulating your constraint network separately, i mean the lines that actually dent? assuming there is one

Edited by willow wafflebeard

Share this post


Link to post
Share on other sites

Hi Sergei, 

 

I took my own approach and did something similar. but the new fractured geo doesn't sim properly. Can you take a look. thanks in advance.  

 

It will probably be a better approach to use a sop solver inside DOPS, connected to the multisolver. When you get the impact, fracture, delete original packed prim and add the new pieces in the sim. Transfer also the impulse from the impact to the new pieces as initial velocity. In theory should work, delete and adding new pieces with packed bullet is easy. 

Share this post


Link to post
Share on other sites

Hi Sergei, 

 

I took my own approach and did something similar. but the new fractured geo doesn't sim properly. Can you take a look. thanks in advance.  

 

Fully agree with Christos. Actually, my setup is pretty similar to what he described.

 

that denting is breathtaking, ive been doing denting my own, but  doing unpack and pack inside a sopsolver is very expensive so as having any foreach. are you actually simulating your constraint network separately, i mean the lines that actually dent? assuming there is one

 

Thanks! No, I simulated everything together.

Share this post


Link to post
Share on other sites

Inspiring stuff Sergei! Love your work.

 

One question though, if you have a packed primitive and then dynamically change the number of primitives in that packed primitive with a sop solver for example, so that when you middle mouse btn click on the the sop solver or the multisolver it says.

geo1
      Geometry : 11 points; 11 prims.

for example. How do you get the solver to return that information (number of points/prims) with VEX or Hscript?

 

Thanks for sharing and keep up the great work!

 

Thanks

Share this post


Link to post
Share on other sites

Inspiring stuff Sergei! Love your work.

 

One question though, if you have a packed primitive and then dynamically change the number of primitives in that packed primitive with a sop solver for example, so that when you middle mouse btn click on the the sop solver or the multisolver it says.

geo1
      Geometry : 11 points; 11 prims.

for example. How do you get the solver to return that information (number of points/prims) with VEX or Hscript?

 

Thanks for sharing and keep up the great work!

 

Thanks

 

Hi John,

 

Actually, I'm not sure that understood what you meant. This information updates automatically by Houdini. So I just modify my objects. How it updates doesn't concern me :) 

Share this post


Link to post
Share on other sites

 

Inspiring stuff Sergei! Love your work.

 

One question though, if you have a packed primitive and then dynamically change the number of primitives in that packed primitive with a sop solver for example, so that when you middle mouse btn click on the the sop solver or the multisolver it says.

geo1

Geometry : 11 points; 11 prims.

for example. How do you get the solver to return that information (number of points/prims) with VEX or Hscript?

 

Thanks for sharing and keep up the great work!

 

Thanks

 

Hi John,

 

Actually, I'm not sure that understood what you meant. This information updates automatically by Houdini. So I just modify my objects. How it updates doesn't concern me  :)

 

Hi!

 

Sorry for being unclear. I've been messing around with the sop- and multisolver lately and came across a problem that thought could be solved if could figure out how many prims was solved by my multisolver on the previous cook/timestep. So i tried to query my multisolver with VEX in an attribute wrangle sop. I don't know if this is normally done, but I figured it's so easy with nprimitives when it comes to normals sops, it must be something similar with these dops.

 

Maybe it was a bit of topic though, sorry about that.

Share this post


Link to post
Share on other sites

Really awesome work Sergei! Congrats!

  
Thanks! Yes, that's all bullet. I tried to make it with wires at first, but wire solver doesn't support interaction with pack primitives.
I detect pieces with highest stress level and fracture them manually. After this I glue closest pieces together.

 

But I am really curious about how did you used bullet to bend and dent the steel, I imagine that with SOP solver could be possible, could you please talk a little bit about it?

 

Thanks!

Share this post


Link to post
Share on other sites

Hi!

 

Sorry for being unclear. I've been messing around with the sop- and multisolver lately and came across a problem that thought could be solved if could figure out how many prims was solved by my multisolver on the previous cook/timestep. So i tried to query my multisolver with VEX in an attribute wrangle sop. I don't know if this is normally done, but I figured it's so easy with nprimitives when it comes to normals sops, it must be something similar with these dops.

 

Maybe it was a bit of topic though, sorry about that.

 

Maybe you could share hip file with this problem? Because I have no idea what you are talking about :)

 

Really awesome work Sergei! Congrats!

 

But I am really curious about how did you used bullet to bend and dent the steel, I imagine that with SOP solver could be possible, could you please talk a little bit about it?

 

Thanks!

 

Sure. It's possible to make bending by "refreshing" your constraints. You can find out how do it in this topic..

 

http://forums.odforce.net/topic/20640-bullet-dynamic-constraint-creation

Share this post


Link to post
Share on other sites

 

 

Maybe you could share hip file with this problem? Because I have no idea what you are talking about   :)

 

Hehe okay thanks for the patience! Here comes the hip file :)

 

And this is what I'm doing. The problem is with my name attribute on the cubes that I generate in my sop solver. I thought maybe you had some nifty solution.

(Maybe I'm going about this the wrong way, but what I would like is to be able to know how many points/prims a packed primitive object contains with a VEX funciton, is this possible at all?)

 

 

https://vimeo.com/103115884

 

Didn't mean to hijack the thread :/ Thanks for taking the time

Share this post


Link to post
Share on other sites

Sergei, so you're breaking and recreating the constraints as the sim progresses? or are you just updating attributes?

Share this post


Link to post
Share on other sites

Hehe okay thanks for the patience! Here comes the hip file :)

 

And this is what I'm doing. The problem is with my name attribute on the cubes that I generate in my sop solver. I thought maybe you had some nifty solution.

(Maybe I'm going about this the wrong way, but what I would like is to be able to know how many points/prims a packed primitive object contains with a VEX funciton, is this possible at all?)

 

 

 

https://vimeo.com/103115884

 

Didn't mean to hijack the thread :/ Thanks for taking the time

 

Seems like your link doesn't work for me.. If we talk about name attribute, here is just one requirement: it should be different for all objects. That's pretty easy to do.

 

Sergei, so you're breaking and recreating the constraints as the sim progresses? or are you just updating attributes?

 

I'm breaking, recreating (for rebar) and create new constraints (for fractured pieces).

Share this post


Link to post
Share on other sites

Thanks for clarifying. Thanks man. It's the same technique I used in Thinking Particles, I haven't tried it in Houdini yet. 

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

×