Hello,
I’m trying to make zooming (pinching) possible via multiple-touch-Input (Input System).
Now, this code works fine for my iPad. It does cause jittering when I try on my phone.
It just starts jittering when the difference between newDistance and originDistance reaches a certain point.
But if I zoom in on little steps (repetitive), it also does NOT jitter.
If I comment out line 14-19, newDistance gives a concrete value, while it jumps around, when line 14-19 is active.
IEnumerator ZoomMobile(){
float originDistance = Vector2.Distance((Vector2)Camera.main.ScreenToWorldPoint(playerInputAction.Player.PrimaryTouchPos.ReadValue<Vector2>()),
(Vector2)Camera.main.ScreenToWorldPoint(playerInputAction.Player.SecondaryTouchPos.ReadValue<Vector2>()));
while(true){
Vector2 primaryTouchPosition = (Vector2)Camera.main.ScreenToWorldPoint(playerInputAction.Player.PrimaryTouchPos.ReadValue<Vector2>());
Vector2 secondaryTouchPosition = (Vector2)Camera.main.ScreenToWorldPoint(playerInputAction.Player.SecondaryTouchPos.ReadValue<Vector2>());
float newDistance = Vector2.Distance(primaryTouchPosition, secondaryTouchPosition);
Debug.Log(newDistance);
if(newDistance>originDistance){
Camera.main.orthographicSize -= (newDistance-originDistance);
}
else if (newDistance<originDistance){
Camera.main.orthographicSize += (originDistance-newDistance);
}
yield return null;
}
}