27-08-2025, 08:24 AM
(This post was last modified: 27-08-2025, 08:25 AM by josemendez.)
Hi!
Obi has difficulties with very long ropes, since they have more particles, thus requiring finer temporal resolution to be solved. The more *particles* you use and the more *often you update the simulation*, the costlier it becomes. Simulating 10 ropes with 100 particles each costs roughly the same as simulating 100 ropes with 10 particles each, since the amount of particles and constraints is the same.
It's not possible to tell right away. Depends on how many dozens of monsters we're talking about, the level of simulation and rendering quality that's acceptable, the hardware you're targeting, whether this will run in the CPU or GPU (which in turn depends on whether your game is GPU or CPU bound), and many other unknown factors.
This is a complex use case that would take a considerable amount of time to implement, so sadly I can't.
kind regards,
(26-08-2025, 05:47 PM)twocomet Wrote: From what I remember, Obi Rope has difficulties with very short ropes and becomes heavier the more ropes are used.
Obi has difficulties with very long ropes, since they have more particles, thus requiring finer temporal resolution to be solved. The more *particles* you use and the more *often you update the simulation*, the costlier it becomes. Simulating 10 ropes with 100 particles each costs roughly the same as simulating 100 ropes with 10 particles each, since the amount of particles and constraints is the same.
(26-08-2025, 05:47 PM)twocomet Wrote: If this feature is used by monsters and there are dozens of monsters on screen, will performance issues be manageable?
It's not possible to tell right away. Depends on how many dozens of monsters we're talking about, the level of simulation and rendering quality that's acceptable, the hardware you're targeting, whether this will run in the CPU or GPU (which in turn depends on whether your game is GPU or CPU bound), and many other unknown factors.
(26-08-2025, 05:47 PM)twocomet Wrote: Also, could you provide me with a sample project that demonstrates this functionality?
This is a complex use case that would take a considerable amount of time to implement, so sadly I can't.
kind regards,