Hey there !
I still dont know why, but after some time my camera script begins to stutter. Mostly when i just click without moving the camera… than it stutters horrible. Anyone already had this iusse ? Could need some help !
public class CameraMovement : MonoBehaviour
{
[SerializeField]
float _panSpeed = 20f;
[SerializeField]
float _zoomSpeed = 50f;
[SerializeField]
Camera _referenceCamera;
Quaternion _originalRotation;
Vector3 _origin;
Vector3 _delta;
bool _shouldDrag;
void Awake()
{
_originalRotation = Quaternion.Euler(0, transform.eulerAngles.y, 0);
if (_referenceCamera == null)
{
_referenceCamera = GetComponent<Camera>();
if (_referenceCamera == null)
{
throw new System.Exception("You must have a reference camera assigned!");
}
}
}
void LateUpdate()
{
var x = 0f;
var y = 0f;
var z = 0f;
if (Input.GetMouseButton(0))
{
var mousePosition = Input.mousePosition;
mousePosition.z = _referenceCamera.transform.localPosition.y;
_delta = _referenceCamera.ScreenToWorldPoint(mousePosition) - _referenceCamera.transform.localPosition;
_delta.y = 0f;
if (_shouldDrag == false)
{
_shouldDrag = true;
_origin = _referenceCamera.ScreenToWorldPoint(mousePosition);
}
}
else
{
_shouldDrag = false;
}
if (_shouldDrag == true)
{
var offset = _origin - _delta;
offset.y = transform.localPosition.y;
transform.localPosition = offset;
}
}
}
}
Thanks for your attention and help !