Sop Solver causing physics madness

   2952   3   2
User Avatar
Member
29 posts
Joined: Feb. 2015
Offline
I'm messing around with Sop Solvers for the first time and I got one set up that bends objects by collision. It works pretty well, but when it is on, the other RBD objects in my scene don't act as they should. I've attached a file that highlights what I mean, but here's the gist of it:

There are 3 spheres that shoot towards a pillar.
They dent this pillar with my sop solver (which is set to only work on the group that the pillars are in).
The pillar does indeed dent, but after the 3 spheres rebound off of the pillar then the madness happens.
They fall towards the ground and as soon as they collide with each other, two of them shoot off into oblivion and the 3rd rolls along the ground.

If I turn off the sop solver then they rebound and bounce off each other as I would expect so I know it's something to do with the sop solver… perhaps my ordering is wrong or something?
Hoping someone here can help. Thanks in advance.

Edit:
Just noticed something else. I have “Solver Per Object” turned on on my rigid body solver. When I turn that off, the madness stops happening, but then again my sop solver seems to stop working as well…
When I go into the sop solver the denting seems to be happening (had to edit it a bit to get it working properly), but outside in the dop network, it is having no effect.

Attachments:
sop_solve_badness.hip (386.9 KB)

User Avatar
Member
818 posts
Joined: Sept. 2013
Offline
Yup, it's best to avoid using “Solver Per Object”. Instead of using DOP groups to assign solvers, use Enable Solver DOP (and an Empty Data) to only solve the boxes with the sop solver.

Also, the boxes were using Box (Geometry Representation parm) for collisions, which won't quite match the geometry after denting. So use Concave instead.

See the attached hip file.

Attachments:
sop_solve_badness.2.hip (388.6 KB)

Andrew / アンドリュー
User Avatar
Member
29 posts
Joined: Feb. 2015
Offline
Thanks awong, that did the trick.

Another question. This looks pretty good except if there is a very large impact that causes a significant dent, it is very obvious that the ball bounces off of the old collision. This makes sense since the sopsolver is being processed after the rigid body solver. When I try putting the sopsolver in the pre-process slot then it stops working. Any idea why this would happen?
User Avatar
Member
818 posts
Joined: Sept. 2013
Offline
In the pre-solve stage, no collisions have happened yet, so there's no Impact data available. Maybe you could try using another sop solver to move the spheres in the opposite direction of the impact. See the attached hip file. It's basically the opposite of what you did in the first sop solver.

Attachments:
sop_solve_badness.3.hip (410.6 KB)

Andrew / アンドリュー
  • Quick Links