Jump to content

wire solver interacts with RBD solver


yuko

Recommended Posts

Hi all!
I'm doing a rope sim with wire solver.
And I wanna interact wire with RBD sim.
I did each sim at the same time in the same DOP network. But it was not doing well.

problems are...

1.Why the wire goes through the cube?

2.Why the cube breaks before the wire hits?

Any solutions?

Thanks.
 

WireBullet_test.hip

WIP_Wire_RBD.jpg

Link to comment
Share on other sites

This is a collider issue. That can be solved, but in the end, the wire can be influenced by the RBD, but RBD don’t really work with the wiresolver back... Maybe that can work for your setup, but otherwise, you will have to cheat, by making two different simulations or find a workaround (with a SOP solver ?).

Check this video where Jeff Wagner explains why it’s not working properly (around 1h42...).

Sorry for the bad news...

 

Edited by StepbyStepVFX
Link to comment
Share on other sites

3 hours ago, yuko said:

Hi, JO.
Thank you for your early reply.
hmm...I can't image a way to cheat yet, but I'll search that as possible.
And I'll check the video too.

Thanks!

What do you want to achieve ? you want the wire to destroy the object, right ?

I would simulate the wire first, without collider, then "thicken" it (with polywire or anything else), cache that animation, and use it in a second sim as a collider to destroy the fractured object (you'll probably have to fracture the wire itself to create proper convex fragments). And if you want better realism, you iterate with a second pass : you use the cached animation of the object fractured by the wire as a collider for a new wire simulation, to get a better interaction.

So in short : wire sim first (alone, just one wire solver), RBD sim in second using a cached polywire from the first sim (so just RBD solver and static solver), and a second wire sim (just wire solver and static solver).

 

Link to comment
Share on other sites

18 minutes ago, StepbyStepVFX said:

What do you want to achieve ? you want the wire to destroy the object, right ?

I would simulate the wire first, without collider, then "thicken" it (with polywire or anything else), cache that animation, and use it in a second sim as a collider to destroy the fractured object (you'll probably have to fracture the wire itself to create proper convex fragments). And if you want better realism, you iterate with a second pass : you use the cached animation of the object fractured by the wire as a collider for a new wire simulation, to get a better interaction.

So in short : wire sim first (alone, just one wire solver), RBD sim in second using a cached polywire from the first sim (so just RBD solver and static solver), and a second wire sim (just wire solver and static solver).

 

Yeah, you're right and I'm just taking the process that you said.

I don't know why but wire (second sim) didn't collide with the fractured object.
I have to see the video you posted before carefully.(because I'm not good at hearing English...)
Thanks a lot, JO!!

Link to comment
Share on other sites

It is possible to make them collide in the same dop network, or at least to make the wire affect the packed geometry simulation. For the collision from RBD to wire I haven't found a stable solution yet that can work with complex geometry.

I've tried recreate your scene with just the wire hitting a thin fragmented wall and looks like some collisions happen after 30-40 frames the wire pass through the wall.

 

Anyway wire can collide with RBD non packed objects. Packed RBD I don't think can collide directly with wires. So you have just to add an intermediate step.

First I've disabled the direct collisions between wire and packedgeo. Then I've added two RBD objects one for the wire and one for the rbdpackedobject. You can add here the collision geometry you prefer.

For example: in the rbdobject1 I've make it editable, and inside in defaulgeo I've imported the wireobject and copied/packed to every point one sphere. At the DOP network level of the rbdobject1 put "deforming object" ON and "active object" OFF, so it updates every frame. Everything else you can modify it as you prefer.

Same thing with the RBD object of the wire. The only difference is that here there are the usual problems with the collision geometry of fragmented objects. Inside its defaultobject I've used collision source for generate a VDB volume,  and I think it's the most accurate.

Just an idea, maybe someone here on the forum have a better solution.

 

Screenshot_5.thumb.png.ec4b0ea4efcb0c78c7af4063d1575f9a.png

COLLISION GEOMETRY OF THE WIRE:

Screenshot_2.thumb.png.b9c4d241429afb24fbe5dcf73c3d5de6.png

ONE WAY COLLISION:

5ad307e800ccb_onewaycollision.gif.7f3d68ce24fe0d877f2e55d10e9409fa.gif

MUTUAL COLLISION:

5ad307fa62ede_bothcolliding.gif.664e780dd939f325f7f68693e702b53f.gif

  • Like 1
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...