Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Strange and different behavior on mobile
#4
Hi there,

Initial tests show that there's several things at play that cause this:

- Floating point precision in certain Android devices is lower, this causes a slight bias in shape matching constraints that adds a constant "push" to softbodies. The push is larger the further away they're from the world origin (0,0,0). Mass also affects the magnitude of this push, larger mass values result in smaller inverse mass which exacerbate this lack of precision.

- The particle distribution in your spheres is not radially symmetric on all axis, so the bias direction is towards the world's origin + a slight offset towards regions with more particle density.

- Both your bodies' and your floor's friction is set to zero. This results in no opposition to softbody movement at all, so any accelerations affect the body indefinitely.


I could reduce this unwanted bias by using the Burst backend (floating point precision seems slightly better that in the native backend), tweaking mass values and using the built-in "medium friction" collision material in your floor. Let me know if this improves the situation for you.

Unfortunately the root cause of this (lack of floating point precision) is not easily solvable, the only possible solution is switching all calculations from floats to doubles, which isn't feasible at this moment.
Reply


Messages In This Thread
RE: Strange and different behavior on mobile - by josemendez - 01-03-2021, 09:59 AM