Hello!
I’ve been dealing with this issue:
When I move an object with Rigidbody.MovePosition or Rigidbody.MoveRotation very fast,
it will trigger a collision with nearby objects that are actually never in contact with it.
-
The MovePosition function is being called from Fixed Update.
-
The Rigidbody is set to Collision: Continuous Dynamic, Interpolate: Interpolate and IsKinematic: true.
-
It uses a Mesh Collider but I have the same issue with other types of colliders.
I’ve tried changing all settings but nothing worked. I’ve also tried changing the Default Contact Offset value in Project Settings > Physics. Changing the Fixed Timestep in the Time settings didn’t work either. Also I’m locked at 72 fps so the framerate isn’t an issue.
I say again, this occurs when I move the object REALLY FAST, (I’m doing it in VR but this also happens by just moving the object through the arrows in the editor). It seems like either the collider becomes bigger when moving fast or that the collider and the mesh missalign for whatever reason.
This does not happen if I move the object by teleporting it with Rigidbody.position, but that makes the collider miss sometimes the actual target collider.
For anyone wondering, the code is this (I’m just teleporting it to the hands position):
myRigidbody.MovePosition(target.transform.position);
Thanks for all answers and for your time.
Alfonso