Jump to content

rebuilding a fractured object


R_cyph

Recommended Posts

Try watching the Ambers and Ashes Tutorial (CMI-VFX Ambers and Ashes of Craig Tonks).

A voronoi-fractured object in conjunction with the spring sop (controlling the affected pieces with groups) should do the trick. Something similar is explained in his "ambers" tutorial.

First effect. That can be animated back and forth, controlled by forces and noise, and made active/static per voronoi object.

Hope that helps a bit! :)

Edited by Scratch
Link to comment
Share on other sites

First create bullet sim.

Then import sim inside SOP. Create goal objects. Then you have to compute vel and angvel.

Back in DOP use multi solver and put script solver and existing bullet solver as inputs.

Inside script solver get velocities from SOP.

Then you can create controls for goal velocities and original ones.

If you need help I can create some example scenes.

Good luck!

Edited by rayman
  • Like 1
Link to comment
Share on other sites

Nice use of the script solver! B)

The problem gets a bit easier if you allow your RBD pieces to inter-penetrate as is the case in the Vimeo movie referenced above. If you don't allow for interpenetration, then you could easily lock out quite a few of the interior pieces which you get when you fracture with the shatter tool. If you don't want to have interpenetration and still have all the pieces clank about as they reform, then you will have to be very carful of the order in which you start your rebuild. Even then, if the surface complexity is too high, then no matter how much force you apply, the pieces aren't going to go back.

Link to comment
Share on other sites

Hey, did a very similar setup in 3ds max and as they pieces reach a certain distance to they're goals collisions turns off so all they pieces can reach their final destinations. As long as they forces are fast enough nobody can see it. Again I'm not sure how to do this houdini. Rayman's file should be a great place to start!

Nice use of the script solver! B)

The problem gets a bit easier if you allow your RBD pieces to inter-penetrate as is the case in the Vimeo movie referenced above. If you don't allow for interpenetration, then you could easily lock out quite a few of the interior pieces which you get when you fracture with the shatter tool. If you don't want to have interpenetration and still have all the pieces clank about as they reform, then you will have to be very carful of the order in which you start your rebuild. Even then, if the surface complexity is too high, then no matter how much force you apply, the pieces aren't going to go back.

Edited by R_cyph
Link to comment
Share on other sites

Thats right, but then you have to manupulate DOP object`s position/orientation directly instead of velocities because bullet solver won`t update them.

Instead, you can try to set different collision relatonships for objects.

Set Multi solver not to make all objects mutual affectors. This will remove all collisions between objects.

Add collision relationship for all objects (It doesent matter how you set it initially because we`ll manipulate it inside script solver)

Then check for each piese distance from target and if it is close enough do not add it to relationship.

I know it is not the fastest solution but for me it is the right way of doing it.

I`m just wondering if there is a way to add/remove objects to/from relationship? Right now I go through each object and add it in relationship list(if it is far enough), then replace affectors list with this new list.

Thanks

Scene file is attached (:

DOP_AttractBulletRBD_3.hipnc

Edited by rayman
  • Like 2
Link to comment
Share on other sites

hello folks!.

with a single camera always fails.

People always forget the importance of the composition.

just " use deforme geometry" and make the animation in sop, secuence blend or particulas?

Edited by shushu
Link to comment
Share on other sites

  • 5 months later...

Okay,

 

so after a few months of tinkering. I got something I like done in POPS/VOPS and SOPS using groups by time to trigger different events. As the pieces are rebuilding back to their original state they snap back to position and their correct orientation. This works GREAT in SOPS/POPS. However, now that I'm trying to bring this whole thing into DOPS so I can get collisions and such Im at a total loss again. I can't seem to using my steering vops in a vopforce no matter what I do. I've got the pieces being forced back to their original place using a popattract but its not really giving me much control.  Also, I need to turn off collisions once the fragments get close to their original state so they can all fit back together. I have a look at rayman's scripts solver DOP setup that thats a little above my knowledge. I've included both files so you guys can see what I'm after.

 

 

 

 

POPS_SOPS_rebuild.hipnc

DOPS_rebuild.hipnc

Link to comment
Share on other sites

Hello! Keep in mind that the scene I created is really old now. In new versions there are better/faster ways to remove objects from relationships using python.

 

Anyway, let`s talk about you scenes. I think there are some things you have to fix first. I don`t think your goal points are computed correctly. When you import objects as packed prims in dops, COM is recomputed by bulletsolver. Then packed prims centers are transformed to match COM, so they won`t be the same as yours. What you have to do is first get these new centers (turn on Solve on creation frame) and use them as goals.

Second thing : you are not computing angular velocity. Your pieces wont match orientation of the original ones.

About the collisions : I don`t think if it is possible to remove packed pieces from collisions( hopefully i`m wrong ). You can do it for whole object but not for the individual pieces.

 

If I have free time I could try to recreate these files using packed prims, sop solver and wrangle nodes. Still I`m not sure about collisions.

Good Luck!

Link to comment
Share on other sites

Ikarus,

 

I must have missed your file earlier. It looks like it would work with RBD packed objects! I'm not sure how to generate a group in DOPS , using the script solver or otherwise, based on distance. If you have an example that would be great ;)

 

You can probably generate a group in the script solver depending on the distance to the target, and have the bullet solver run only on objects in the group (that are far enough away)

 

 

 

 

 

They really need a dop object vop for stuff like this.



one rough idea using vop force:
attachicon.gifobjtargeting.hip

Link to comment
Share on other sites

Oh boy. You're talking a bit over my head :P

 

Using the popattract force I'm referencing the points at the original position/centre of each fragment from sops and matching fragments/points based on ID. I'm pretty sure my goal points are correct- ish lol. But, That's not exactly what i'm going for. If you look at my SOPS POPS file my steering VOP has much more control then the POPattract and when the fragments get close to the goal points they snap back to their original position/rotation and collisions aren't an issue. Firstly, I have no idea how to blend back to the original/rest rotation in DOPS either through angular velocity or through explicitly setting rotation. The POPlookat dop kind has what i'm looking for so maybe I can break that open see how that works and get it work on a per fragment basis. lastly, collisions become an issue when the pieces get close to their goals some I'm still looking for a solution there. 

 

 

 

Hello! Keep in mind that the scene I created is really old now. In new versions there are better/faster ways to remove objects from relationships using python.

 

Anyway, let`s talk about you scenes. I think there are some things you have to fix first. I don`t think your goal points are computed correctly. When you import objects as packed prims in dops, COM is recomputed by bulletsolver. Then packed prims centers are transformed to match COM, so they won`t be the same as yours. What you have to do is first get these new centers (turn on Solve on creation frame) and use them as goals.

Second thing : you are not computing angular velocity. Your pieces wont match orientation of the original ones.

About the collisions : I don`t think if it is possible to remove packed pieces from collisions( hopefully i`m wrong ). You can do it for whole object but not for the individual pieces.

 

If I have free time I could try to recreate these files using packed prims, sop solver and wrangle nodes. Still I`m not sure about collisions.

Good Luck!

Link to comment
Share on other sites

The object in that scene is a fractured object, not sure what would be any different in using packed primitives, I haven't used them personally.

RBD packed object DOP produces only 1 dop object with multiple points per piece , so you have to iterate through points, not objects.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...