Using silhouette as Actor with Bullet Solver

Hi everyone!

I’m working on a project where I take a person’s silhouette using Kinect player index or Nvidia Background, use the Trace SOP, then extrude it, and use it in a bullet solver system as a static (or dynamic with infinite mass) actor. Another instanced dynamic actor should interact with the static one.

The problem is that I can’t find an approach that solves the following issue:

  • Setting the actor to convex makes it… convex (duh), so dynamic actors don’t accumulate in the concave nooks;
  • Setting it to concave makes it work as intended, but collision with dynamic actors doesn’t work because of the nature of concave actors in bullet systems.

Obviously, the third and possibly correct way would be to make a compound actor.

It’s not the most computationally efficient, but it should work somehow.
I was able to achieve this result using a Copy SOP:

But of course this is a single SOP, and for it to be actually compound, I would need individual SOPs for each box that gets copied.

What am I missing? Is there a way to get individual SOPs from a Copy SOP, maybe with scripting?
Is there a better approach that I probably can’t think of? Unfortunately doing motion capture using Mediapipe is not an option.

Also I could make the bullet solver run in 2D, if that would help in any way (?).

Cheers :))