Apply Velocity to RBD Pieces by Position, issue..!

   450   2   0
User Avatar
Member
426 posts
Joined: 8月 2015
オフライン
Hi everyone,


I have an RBD Fractured Object wired into a Rigid Body Solver (Bullet), and I’d like to apply a custom velocity to each piece whose centroid’s Y position is below 0.5.


I tried this inside a Point Wrangle within a SOP Solver, but it didn’t work:

if (@P.y < 0.5)
{
v@vel = {0, 10, 0};
}

I also attempted the same approach inside a Geometry Wrangle in DOPs, but that didn’t work either.

Does anyone have suggestions on how to achieve this?



Thanks in advance!
Edited by Masoud - 2025年8月10日 14:37:19

Attachments:
RBD.gif (976.2 KB)
RBD.hip (458.1 KB)

Masoud Saadatmand (MSDVFX)
User Avatar
Member
426 posts
Joined: 8月 2015
オフライン
I think I should use a (volume velocity) field, right?
Masoud Saadatmand (MSDVFX)
User Avatar
Member
70 posts
Joined: 6月 2016
オフライン


I just used a packed fractured object and v@v instead of v@vel (which is the name for velocity volumes).

Also v@P.y is not the centroid, it is the y-position of every Point your wrangle runs on. If you need to do it without the packed object (which is slower than the packed sim) you can use the Extract Centroid SOP to get the centroid of every connected piece and use this instead v@P.y in the wrangle.
Edited by Xue_Yue - 2025年8月12日 08:33:14

Attachments:
RBD_mrs.hip (537.7 KB)

  • Quick Links