This commit is contained in:
Gerard Gascón 2025-02-02 23:44:44 +01:00
commit f5c1616018
679 changed files with 188502 additions and 0 deletions

View file

@ -0,0 +1,51 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IsometricCameraPivot : MonoBehaviour
{
float _targetAngleY;
float _currentAngleY;
float _targetAngleX;
float _currentAngleX;
[SerializeField] float _mouseSensitivity = 2;
[SerializeField] float _rotationSpeed = 5;
void Awake()
{
_targetAngleY = transform.eulerAngles.y;
_targetAngleX = transform.eulerAngles.x;
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
if (Input.GetMouseButton(0))
{
_targetAngleY += mouseX * _mouseSensitivity;
_targetAngleX -= mouseY * _mouseSensitivity / 3;
}
else
{
_targetAngleY = Mathf.Round(_targetAngleY / 45) * 45;
_targetAngleX = Mathf.Round(_targetAngleX / 15) * 15;
}
_targetAngleY = (_targetAngleY + 360) % 360;
_targetAngleX = Mathf.Clamp(_targetAngleX, 23, 67);
_currentAngleY = Mathf.LerpAngle(transform.eulerAngles.y, _targetAngleY, Time.deltaTime * _rotationSpeed);
_currentAngleX = Mathf.LerpAngle(transform.eulerAngles.x, _targetAngleX, Time.deltaTime * _rotationSpeed);
if (Mathf.Abs(_currentAngleY - _targetAngleY) < 0.1f) _currentAngleY = _targetAngleY;
if (Mathf.Abs(_currentAngleX - _targetAngleX) < 0.1f) _currentAngleX = _targetAngleX;
transform.rotation = Quaternion.Euler(_currentAngleX, _currentAngleY, 0);
}
}