Stacks in RBD

   2933   14   3
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline

This is an RBD simulation of some coins.
How can I prevent the stack from collapsing by itself?

Increasing Bullet Substeps helps to reduce the problem but doesn't solve it.

Do you have any ideas?
=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
2625 posts
Joined: June 2008
Offline
Set i@active to zero until the frame when you need them to be active RBD objects..?
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline
Well, this is the actual cluster I wanna simulate:

It contains 1.700 coins.

There are three coins flitting into it, so they have to start moving everyone at another frame. This means I can't activate them all at the same time.

I tried to unpin them from top to bottom, but that looks very unnatural. Adding weak constraints didn't work neither. And I think there should be a way to make entirely flat objects just lie on top of each other, or is there still no solution for that?

Attachments:
cluster1.jpg (131.7 KB)

=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
54 posts
Joined: April 2016
Offline
You can set point attribute:
i@bullet_sleeping = 1;
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline
vicvvsh
You can set point attribute:
i@bullet_sleeping = 1;
Thanks, I set them all sleeping now. However they wake up almost all of them as soon as the trigger coins are coming closeby. I only see linear threshold and angular threshold to control when they wake up. These I find quite hard to handle cause I don't see anywhere if the values are close to the thresholds. Are there other ways to control the wake-up conditions?
=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
Do you have a hip file?
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
Here is an example hip file... I cracked open the rbd bullet solver and in the RBD Packed Object node, changed the geo representation to "cylinder," which is much more efficient and will allow you to reduce padding to 0. Then turn the global substeps up to two (or higher), which will prevent the intial settling bounce.

After the assemble node, you may want to put in a point jitter (with 0 in Y) and jitter the position of the coins in the stack slightly to get a more interesting look.


Image Not Found
Edited by mrCatfish - Nov. 7, 2023 11:00:55

Attachments:
rbd.png (24.0 KB)
stackcoinsMachineFX.hipnc (1.9 MB)

Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Staff
411 posts
Joined: Feb. 2008
Offline
You can use a RBD Configure SOP, under "Collision Shapes" set the Geometry Representation to Cylinder, no need to unlock the RBD Bullet Solver SOP to do that.
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
npetit
You can use a RBD Configure SOP, under "Collision Shapes" set the Geometry Representation to Cylinder, no need to unlock the RBD Bullet Solver SOP to do that.
You know, I knew there was a way to do this, but I forgot! Thanks for the reminder!
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline
Here is the hip file and the mesh I'm using.

The problem with ways like @active or @bullet_sleeping is, I have to animate them on every single piece manually. (Though I guess sleeping pieces should be more flexible to wake up, but I haven't figured yet how I can manage that.)

So I hope there is a better way to deal with such a huge amount of coins that can be considered entirely flat.

Thanks for all your help here!
Edited by freewind - Nov. 10, 2023 11:33:40

Attachments:
RBD-Stack.zip (1.2 MB)

=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
Okay, a couple of issues here. First of all, the stack of chips was 26cm high... which is pretty small. Bullet HATES tiny sims. You can either use the Bullet World Scale, or do what I did and scale this up about 10x so it is now 2.6m high. You may now have to increase gravity to get the behaviour you want, but I think it will be okay.

Next, your coins were slightly intersecting. I used the found_overlap trick [tokeru.com] to remove these intersections and then sim.
Image Not Found


Seems to be good now.

Attachments:
poker-chips26_machineFX.hipnc (3.4 MB)

Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline
Thanks, scaling it up helps to stabilize the scene. I would have preferred using Bullet World Scale (which I thaught would do the same effect) cause my Geometries' sizes are all adjusted to each other, but it doesn't seem to work that way.
However scaling geometries up individually will do.

The sceond issue though confuses me a lot.
When I look at the coins very closely in orthographic view I can see there are spaces everywhere in between.

To me the gaps seem to be very small but distinct. I made them this small so the coins don't have to fall down on each other in the beginning of the simulation. With the collision representation objects it is the same. Am I missing some intersecting meshes here? Or can there be a "too close" to each other?

I might easyly increase the distances cause I created the whole cluster procedural. Do I have to choose a higher value here?


EDIT: I scaled the scene up by 10 million now and it works great without a single substep. Thanks a lot man! Though I haven't found any difference caused by @found_overlap.

What still slows the simulation down is the amount of coins flying out of the scene remaining active. I don't need them anymore, so is there a way to delete them or at least make them sleep inside the solver based on their position with some kind of "container" as flip simulations use?
I found the popkill-node to approach this... everything's working fine now
Edited by freewind - Nov. 18, 2023 13:52:50

Attachments:
space_between.jpg (117.2 KB)

=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
To me the gaps seem to be very small but distinct. I made them this small so the coins don't have to fall down on each other in the beginning of the simulation. With the collision representation objects it is the same. Am I missing some intersecting meshes here? Or can there be a "too close" to each other?

Make sure you always look at the bullet representation of the collider, not the geo going into the sim.
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
93 posts
Joined: Sept. 2021
Offline
mrCatfish
To me the gaps seem to be very small but distinct. I made them this small so the coins don't have to fall down on each other in the beginning of the simulation. With the collision representation objects it is the same. Am I missing some intersecting meshes here? Or can there be a "too close" to each other?

Make sure you always look at the bullet representation of the collider, not the geo going into the sim.

Of course, that's what I meant writing collision representation objects.
I see gaps between the coins everywhere... have I actually overlooked any intersections?
Edited by freewind - Nov. 20, 2023 10:44:50

Attachments:
space_between_bullet.jpg (47.8 KB)

=================
Intel core i7 6700K
64 GB DDR4 RAM
Nvidia GeForce RTX 3060
User Avatar
Member
732 posts
Joined: Dec. 2006
Offline
If you play the scene you may see them intesect immediately if there are not enough substeps to resolve the collisions.
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
  • Quick Links