14-10-2020, 10:50 AM
(This post was last modified: 14-10-2020, 11:08 AM by josemendez.)
Quote:That is extremely strange then, because not only my character doesn't jump has high (simply disabling the solver while playing fixes it), but I have an effect where I can "blow a wall open". The way this works is that the wall is one mesh, and upon impact it is replaced by a "broken down" version made with multiple rigidbodies (which are instantiated at runtime, meaning there's no way they are attached to anything), and when the solver is enabled the instanciated rigidbodies' velocity is much less intense.
If you want I can take a look at it, but that seems really strange. Simulation of rigidbodies is performed by Unity and Obi has no power over that.
Make sure it's not a timestep length-related thing though: enabling the solver will cause frames to take a bit longer to render, so if you are incorrectly applying velocities/forces or other time-dependent stuff not taking Time.deltaTime or fixedDeltaTime into account, then of course enabling the solver (or making the game heavier in any way) will have an effect on your physics. The default AddForce method already takes timestep length into account, so this only applies if you're doing it in any other way. Also keep in mind that if you're using substepping, that will update physics multiple times per timestep.
Quote:Yes that's what I understood, it just seemed strange to me. That means that, to avoid weird behaviour I have to change the phase. Thank you for that
Same thing applies to Unity's joints: If you attach two rigidbodies using joints, you have the option to enable/disable collisions between them. Only difference is that for joints collisions are disabled by default, and you can turn them on. In Obi it's not just two bodies though, there might be multiple particles inside a collider, so collisions are turned on by default and you can turn them off on a per-particle basis using phases. See: https://docs.unity3d.com/Manual/class-Co...Joint.html