Obi Official Forum
Help The objects within the two solvers do not collide with each other. - Printable Version

+- Obi Official Forum (https://obi.virtualmethodstudio.com/forum)
+-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html)
+--- Forum: Obi Cloth (https://obi.virtualmethodstudio.com/forum/forum-2.html)
+--- Thread: Help The objects within the two solvers do not collide with each other. (/thread-4402.html)



The objects within the two solvers do not collide with each other. - ziziza93 - 04-11-2024

Hello.
I’m currently working on a project using Obi Cloth and need some help, so I'm reaching out.
The structure of the objects is as follows:
  1. Objects with fixed update
    1. Mesh 1 with an Obi Collider set
    2. Game object with a solver applied
      1. Object with skinned cloth set
    3. Game object with a solver applied
      1. Object with skinned cloth set
As shown in the attached picture, the structure is like this. The two solvers are managed within the fixed updater.
The issue is that the upper object in the GameObject and the lower object in GameObject (1) do not collide with each other. Is it possible to make the objects within these two solvers collide?
It is unavoidable to split into two solvers because I need to adjust the scale for some objects. While the solvers are separated, can we still allow for physical interactions between the objects?
Thank you for your support, as always.


RE: The objects within the two solvers do not collide with each other. - josemendez - 04-11-2024

Hi!

(04-11-2024, 09:46 AM)ziziza93 Wrote: Is it possible to make the objects within these two solvers collide?

No, this is a basic consequence of how Obi is designed. Each solver performs its own simulation, so you cannot have actors in different solvers interact with each other. Just like you cannot have rigidbodies that belong to different PhysicsWorlds interacting with each other in Unity. Quoting the manual:

Quote:Each solver is completely independent from other solvers. Therefore, actors being updated by different solver won't interact / collide with each other. Only actors in the same solver will react to each other.


(04-11-2024, 09:46 AM)ziziza93 Wrote: It is unavoidable to split into two solvers because I need to adjust the scale for some objects.

Scaling solver != scaling object. When scaling a solver, you're scaling the simulation space. While this may yield the same result as scaling an object in some situations, it's generally not the same.

If your objects don't need to be scaled at runtime, you might be able to just use blueprints with different scale values for the same effect.

kind regards,


RE: The objects within the two solvers do not collide with each other. - ziziza93 - 05-11-2024

(04-11-2024, 12:46 PM)josemendez Wrote: If your objects don't need to be scaled at runtime, you might be able to just use blueprints with different scale values for the same effect.

Thank you for your response, and I apologize for asking repeated questions as I need further assistance.

Following your suggestion, I created two blueprints with different scales and tried swapping them at runtime.

The scale change was applied correctly, but as shown in the attached image, the hierarchy of the objects gets mixed up when interacting with other objects that have different blueprints applied.

The idea I had in mind was that if the upper garment is loaded initially with a larger scale, the lower garment would fit inside it. Then, when the scale of the upper garment is reduced, it would be hidden under the lower garment.

I tried giving the blueprint of the upper garment a higher category so it would stay outside the lower garment, but as shown in the attached image, the lower garment still intersects with the upper garment.

I need to apply physics so that the upper garment stays on the outside of the lower garment. Do you have any reference materials or suggestions I could try?