07-05-2026, 06:36 PM
(This post was last modified: 07-05-2026, 06:37 PM by josemendez.)
(07-05-2026, 05:42 PM)Jawsarn Wrote: I have tested this, and it does not fix the issue just out of the box. The positions will still be interplated from "Interpolate Position From Physics" system, and then there will be one or multiple physics steps next frame that cause inaccurate impulses by translation deltas.
If both simulations (ecs rigidbodies and obi) have the same timestep, they should tick in sync and interpolation *should* not have any effect.
If having the exact same timestep for both simulations doesn’t change anything, my guess is interpolation/timesteps have nothing to do with the issue.
(07-05-2026, 05:42 PM)Jawsarn Wrote: Yes, but this out of the box for me uses my interpolated positions. I could try to set the positions to fixed ones temporarily before LateUpdate to update them right before rendering, but it's a bit of a hack and not really fool proof. Using this mode without my setup, does it not cause inaccuracies in impulses from world inertia as well?
I’m quite unsure about interpolation being the culprit at this point. I’d need to see/debug your setup to accurately help with it.
(07-05-2026, 05:42 PM)Jawsarn Wrote: Additional question to that; does rigidbody interpolation happen before Obi Updates, i.e. are positions based on rigidbody interpolation or the fixed position if one would use those?
Obi always reads rigidbody.position for rigidbodies involved in the simulation. However, parenting a solver to a rigidbody generally only makes sense if the rigidbody is kinematic, and in that case there’s no interpolation. Otherwise momentum conservation goes out of the window (the rigidbody affects the solver and in turn the solver affects the rigibody, a “pull yourself up by the hair” kind of situation).
(07-05-2026, 05:42 PM)Jawsarn Wrote: Somewhat, yes. I can of course modify it all (probably how I will proceed to keep it as package and add a patch on top), but would be nice if the asset provided more customization so that could be avoided.
There should be no need to modify anything, disabling the solver and then manually calling both methods should do the trick. Haven’t tested this though. Will do asap and get back to you.

