Hola.
Tengo un script para la cámara de mi player,
pero el problema es que al girar la vista hacia abajo o hacia arriba,
como que no existe un tope.
Ya sé que el código que se utiliza es Mathf.Clamp(etc, etc, etc),
pero todavía soy medio nuevo con esto y no encuentro en qué parte
de mi código escribirlo.
Esto es lo que tengo hecho:
using UnityEngine;
using System.Collections;
public class ControladorCamara : MonoBehaviour
{
GameObject jugador;
Vector2 vistaMouse;
Vector2 vistaSmooth;
public float sensibilidad = 2f;
public float suavidad = 1f;
public static float _velocidadLerp;
public static float _fovActual;
public static float _fovAumento;
void Awake()
{
_velocidadLerp = 4f;
_fovActual = 60f;
_fovAumento = _fovActual * 1.5f;
jugador = this.transform.parent.gameObject;
}
void Update()
{
VistaMouse();
FOVCorrer();
}
void VistaMouse()
{
Vector2 inputsMouse = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
inputsMouse = Vector2.Scale(inputsMouse, new Vector2(sensibilidad * suavidad, sensibilidad * suavidad));
vistaSmooth.x = Mathf.Lerp(vistaSmooth.x, inputsMouse.x, 1f / suavidad);
vistaSmooth.y = Mathf.Lerp(vistaSmooth.y, inputsMouse.y, 1f / suavidad);
vistaMouse += vistaSmooth;
transform.localRotation = Quaternion.AngleAxis(-vistaMouse.y, Vector3.right);
jugador.transform.