I am using a PlaneDragGizmo. If I set a snapDistance and drag the gizmo fast, the position of the gizmo starts to “drift” away from the pointer’s position. I.e. the gizmo is not at the same position as the pointer after moving the pointer fast.
it is most prominent when dragging to the “left upper corner”. I.e. dragging in other directions seem to have less influence
Update: actually, I’m not sure how big the influence of the direction is
I need to take a closer look but my guess is distance is snapped everyframe and not accumulated then snapped. So error accumulates and you get that big difference after some frames.
Snap is not computed per X or Y value of the drag. It’s computed on the distance, whatever the direction is:
Which means if direction changes frequently, you’ll end up with a quite random position but the distance with the previous position will be a multiple of snapDistance.
But it does what is says: it snaps the distance. I’m doing the change to do an axis separation.