Jump to content

RBD Jittering Velocities


Recommended Posts

Hey guys,

I've got this simulation of a wall where a train is wrecking through a wall. Some fragments hanging at the wall are still jittering afterwards. The jittering itself is no problem because it's minmal and the camera will be shaking. But the jittering velocities are a problem because they disturb our motion vector pass (generated through Maya Arnold) and cause it to flicker. Is there a way to leave the simulation as it is and "repair" the velocities? I tried a filter for the low velocity values, but they are not precise enough. I uploaded some Frames of the wall as bgeos:




Thanks for the help!

Link to comment
Share on other sites

Take the offending velocities out by hand, frame by frame, with selection volumes before you use them. You could also try to do a filter of the impulse (subtract the current velocity by the next frame's velocity), but that's asking for trouble. Best to go with brute force and next time and delete the offending jittery pieces before you turn them into a vel pass.

Link to comment
Share on other sites

Please find my posted questionning below :

Dear all,

The plot : -> Am currently simulating a simple shatter with rbdPacked prims + Constraints Glue  + a gorund plane, all into a DOP. (nothing Awesome till here).

The Questions : -> But, strangely, the little rbds continue to vibrate once fallen on the ground. It looks like continuous vibrating tiny giggly wiggly inter-collisions.

Did any body ever had this ? :wacko:

Would it be possible, i've to FORCE STOP them using a desactivating VEX snippet in a DOP/geomety wrangle node ? :ph34r:


If anybody had this one time, let me know, please. You will be welcome and it will be pleasure to discuss that point you. B)


Thank you all a lot,


Link to comment
Share on other sites

One thing you could try is to measure the length of the velocity and if it's below a certain threshold, you can multiply it down per frame until the objects come to a stop. 

Add a pop wrangle to the third input (post solve) of a rigidbodysolver with something like the following...

if(@Frame>24 && length(@v)<10)
        v@v *= 0.5;
        v@w *= 0.5;

You may want to substitute the various thresholds for variables with parameter sliders for quicker iterations. 

if(@Frame>chi("frameThreshold") && length(@v)<chf("speedThreshold"))
        v@v *= chf("velFalloff");
        v@w *= chf("velFalloff");

This is far from a perfect solution but can be useful in certain situations. 



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.

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...