void Update() { if (ControlRotation) { HandleRotationMovement(); } var scroll = PlayerInputSystem.GetAxis("Scroll"); if (Mathf.Abs(scroll) < 0.05f) { return; } CamDistance += (scroll * ZoomSmoothing); CamDistance = Mathf.Clamp(CamDistance, CamMinDistance, CamMaxDistance); _cam.transform.localPosition = new Vector3(0, 0, -CamDistance); }
private void HandleRotationMovement() { if (Time.timeScale < float.Epsilon) { return; } SetRootRotation(PlayerInputSystem.GetAxis(PlayerControls.MoveX)); float y = PlayerInputSystem.GetAxis(PlayerControls.LookY); _tiltAngle -= y * TurnSpeed; _tiltAngle = Mathf.Clamp(_tiltAngle, -TiltMin, TiltMax); _pivotTargetRot = Quaternion.Euler(_tiltAngle, _pivotEulers.y, _pivotEulers.z); if (TurnSmoothing > 0) { _pivot.localRotation = Quaternion.Slerp(_pivot.localRotation, _pivotTargetRot, TurnSmoothing * TimeManager.DeltaTime); } else { _pivot.localRotation = _pivotTargetRot; } }