update packages, fix cinemachine
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Cinemachine;
|
||||
using Unity.Cinemachine;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
@@ -9,7 +9,7 @@ public class CameraSystem : MonoBehaviour
|
||||
public Camera MainCamera => _mainCamera;
|
||||
|
||||
[SerializeField]
|
||||
private CinemachineVirtualCamera _camera;
|
||||
private CinemachineCamera _camera;
|
||||
[SerializeField]
|
||||
private float _fieldOfViewMax = 60f;
|
||||
[SerializeField]
|
||||
@@ -29,7 +29,7 @@ public class CameraSystem : MonoBehaviour
|
||||
[SerializeField]
|
||||
private bool _useMouseRotate;
|
||||
|
||||
private Vector3 _followOffset;
|
||||
private Vector3 _followOffset =new Vector3(0,8,-10);
|
||||
[SerializeField]
|
||||
private float _rotateSpeed = 100f;
|
||||
[SerializeField]
|
||||
@@ -41,13 +41,12 @@ public class CameraSystem : MonoBehaviour
|
||||
[SerializeField]
|
||||
private float _zoomAmount = 3f;
|
||||
private float _targetFieldOfView = 60f;
|
||||
private CinemachineTransposer _cinemachineTransposer;
|
||||
private CinemachineFollow _cinemachineTransposer;
|
||||
private Bounds _worldBounds;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_cinemachineTransposer = _camera.GetCinemachineComponent<CinemachineTransposer>();
|
||||
_followOffset = _cinemachineTransposer.m_FollowOffset;
|
||||
_cinemachineTransposer = _camera.GetCinemachineComponent(CinemachineCore.Stage.Body) as CinemachineFollow;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
@@ -82,7 +81,7 @@ public class CameraSystem : MonoBehaviour
|
||||
HandleCameraRotation(rotateDir, _rotateSpeed);
|
||||
}
|
||||
|
||||
float zoomAmount = GameManager.Instance.Input.CameraAction.Zoom.ReadValue<Vector2>().y;
|
||||
float zoomAmount = GameManager.Instance.Input.CameraAction.Zoom.ReadValue<float>();
|
||||
if (zoomAmount != 0)
|
||||
{
|
||||
HandleCameraZoom_MoveY(zoomAmount);
|
||||
@@ -98,9 +97,10 @@ public class CameraSystem : MonoBehaviour
|
||||
private void HandleCameraZoom_MoveForward()
|
||||
{
|
||||
Vector3 zoomDir = _followOffset.normalized;
|
||||
if (Input.mouseScrollDelta.y > 0)
|
||||
var scrollDelta=GameManager.Instance.Input.CameraAction.Zoom.ReadValue<float>();
|
||||
if (scrollDelta > 0)
|
||||
_followOffset -= zoomDir * _zoomAmount;
|
||||
if (Input.mouseScrollDelta.y < 0)
|
||||
if (scrollDelta < 0)
|
||||
_followOffset += zoomDir * _zoomAmount;
|
||||
|
||||
if (_followOffset.magnitude < _followOffsetMin)
|
||||
@@ -109,9 +109,9 @@ public class CameraSystem : MonoBehaviour
|
||||
if (_followOffset.magnitude > _followOffsetMax)
|
||||
_followOffset = zoomDir * _followOffsetMax;
|
||||
|
||||
Vector3.Lerp(_cinemachineTransposer.m_FollowOffset, _followOffset, Time.deltaTime * _zoomSpeed);
|
||||
Vector3.Lerp(_cinemachineTransposer.FollowOffset, _followOffset, Time.deltaTime * _zoomSpeed);
|
||||
|
||||
_cinemachineTransposer.m_FollowOffset = _followOffset;
|
||||
_cinemachineTransposer.FollowOffset = _followOffset;
|
||||
}
|
||||
|
||||
private void HandleCameraZoom_MoveY(float _zoomAmount)
|
||||
@@ -126,21 +126,22 @@ public class CameraSystem : MonoBehaviour
|
||||
if (_followOffset.magnitude > _followOffsetMax)
|
||||
_followOffset.y = _zoomAmount * _followOffsetMax;
|
||||
|
||||
Vector3.Lerp(_cinemachineTransposer.m_FollowOffset, _followOffset, Time.deltaTime * _zoomSpeed);
|
||||
Vector3.Lerp(_cinemachineTransposer.FollowOffset, _followOffset, Time.deltaTime * _zoomSpeed);
|
||||
|
||||
_cinemachineTransposer.m_FollowOffset = _followOffset;
|
||||
_cinemachineTransposer.FollowOffset = _followOffset;
|
||||
}
|
||||
|
||||
private void HandleCameraZoom_FOV()
|
||||
{
|
||||
if (Input.mouseScrollDelta.y > 0)
|
||||
var scrollDelta = GameManager.Instance.Input.CameraAction.Zoom.ReadValue<float>();
|
||||
if (scrollDelta > 0)
|
||||
_targetFieldOfView -= 5;
|
||||
if (Input.mouseScrollDelta.y < 0)
|
||||
if (scrollDelta < 0)
|
||||
_targetFieldOfView += 5;
|
||||
_targetFieldOfView = Mathf.Clamp(_targetFieldOfView, _fieldOfViewMin, _fieldOfViewMax);
|
||||
|
||||
Mathf.Lerp(_camera.m_Lens.FieldOfView, _targetFieldOfView, Time.deltaTime * _zoomSpeed);
|
||||
_camera.m_Lens.FieldOfView = _targetFieldOfView;
|
||||
Mathf.Lerp(_camera.Lens.FieldOfView, _targetFieldOfView, Time.deltaTime * _zoomSpeed);
|
||||
_camera.Lens.FieldOfView = _targetFieldOfView;
|
||||
}
|
||||
|
||||
private void HandleCameraMovement(Vector2 inputDir)
|
||||
@@ -186,10 +187,6 @@ public class CameraSystem : MonoBehaviour
|
||||
|
||||
private void OnCameraRotate(InputAction.CallbackContext context)
|
||||
{
|
||||
if (Mouse.current.middleButton.isPressed)
|
||||
{
|
||||
|
||||
}
|
||||
float rotateDir = GameManager.Instance.Input.CameraAction.Rotate.ReadValue<Vector2>().x;
|
||||
//HandleCameraRotation(rotationValue, _mouseRotationSpeed);
|
||||
transform.eulerAngles += new Vector3(0, rotateDir * _rotateSpeed * Time.deltaTime, 0);
|
||||
|
||||
Reference in New Issue
Block a user