RBD packed object inherit velocity

   5336   8   1
User Avatar
Member
4 posts
Joined: Dec. 2016
Offline
Hey everybody,

I am working on a project , where i have to break a ship that moves through a city in 5 impacts/collisions. Meanwhile the ship keeps going more and more broken, after each collision.

I started by giving the ship an initial velocity and interrupted it with RBD Keyframe Active in order to set keyframe of the ship when it doesn't collide with anything else. The problem now, after the first collision is how do i bring back velocity to the ship to keep it going to the next one.

I am a beginner and a bit over my head on how to approach this, any help will be amazing

thank y all in advance
User Avatar
Member
738 posts
Joined: Dec. 2006
Offline
Here is an example where a cube is shattered when it intersects with the floor, otherwise it keeps using its keyframe animation.

Perhaps this would be a better way to do it…. animate the ship doing whatever it is you want it to do. Then have pieces break off when you want them to by having some kind of attribute transfer from the collision objects. Right now I'm using proximity to floor, but you could have proximity to any particular object or objects.

Attachments:
handoff_keyfamee_to_RBD.3.hipnc (752.3 KB)

Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
4 posts
Joined: Dec. 2016
Offline
Hi MrCatfish !

Thank you so much for your response !

That's exactly what i m trying to achieve!

but

i turned the object inactive as you suggested,deforming etc,at the RBD packed i switched it to Deforming active, i animated it in object level, the problem is, my static colliders ( buildings ) do not respond to the ship, unless it's active
so the ship just penetrates them

Perhaps there is a mistake in my Dopnetwork connections or, i simply made a mistake i haven't realized

Here is a picture of my connections and the ship going through the buildings

Attachments:
i@active=0.jpg (77.0 KB)
i@active=02.jpg (58.1 KB)

User Avatar
Member
738 posts
Joined: Dec. 2006
Offline
Hm, not sure if you have the same wrangle node in your city block as you do in the ship… this would break things. Here is the hip file with a wall in it, which is behaving correctly.

Attachments:
handoff_keyfamee_to_RBD.4.hipnc (970.2 KB)

Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
4 posts
Joined: Dec. 2016
Offline
mrCatfish i've been trying to analyze your file, because it's basically the solution i m looking for

but i really find it difficult to apply it, because i don't understand what is happening, eventhough you are kind enough to explain at the point wrangle some things

One important thing i don't understand , is where did you set this ‘proximity to the floor’ as you say

Basically i don't get what causes the box to shatter , is it the impact with the groundplane ? because when i delete it it still shatters


Sorry if it's too obvious : ), i'm new at houdini
User Avatar
Member
738 posts
Joined: Dec. 2006
Offline
If you go into the DOP network and inside the SOP solver, you will see a point wrangle with this in it:

// when it gets close to the ground, make
// pieces active (@active), and stop 
// updating positions from SOPs (@deforming)


if ( @P.y < .25 ) {
    i@active=1;
    i@deforming=0;
}

So it's actually not the “proximity to the ground”, (my bad), but proximity to 0 in Y. Any packed object less than .25 units from the 0 in Y will become active and non-deforming.

Similarly, if you did not want “proximity to ground” as the trigger, you could do some attribute transfer from some other object to trigger the breakage. (You'd use an object merge and transfer the attributes to your object.)
Edited by mrCatfish - June 12, 2019 13:41:24
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
4 posts
Joined: Dec. 2016
Offline
Right : )

i saw it now

Thank you so much for your help !
User Avatar
Member
7 posts
Joined: Dec. 2018
Offline
Hello,
I'm looking for the same thing but my object need to be active and deforming at the beginning, then I try to disable “deforming” on impact with impacts function

I have created a sop solver then an attribute wrangle with
if(@Impacts > 0) {
i@deforming=0;
}
connected to the dop_geometry to set each piece deforming value.
the problem is that the attribute “impacts” is created on collide but it's value is always 0.0

any idea how I can disable the deforming value of a piece after impact ?
thank you
User Avatar
Member
738 posts
Joined: Dec. 2006
Offline
dothefilm
any idea how I can disable the deforming value of a piece after impact ?
thank you
Do you have a hip file you can share?
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
  • Quick Links