Para que la cámara siga al personaje en Unity sin girar con él, puedes utilizar un script en C# que actualice la posición de la cámara basándose en la posición del jugador, pero sin modificar la rotación de la cámara.
1. Crear un nuevo script en Unity llamado FollowCamera
.
2. Adjuntar el script a la cámara.
3. Asignar el objeto del jugador en el Inspector.
using UnityEngine;
public class FollowCamera : MonoBehaviour
{
public Transform player; // Asigna el Player en el Inspector
public Vector3 offset = new Vector3(0, 5, -10); // Ajusta la posición de la cámara
void LateUpdate()
{
if (player != null)
{
// Mantiene la posición de la cámara relativa al jugador
transform.position = player.position + offset;
}
}
}
player
: Referencia al jugador.
offset
: Define la posición relativa de la cámara respecto al jugador.
LateUpdate()
: Se usa LateUpdate()
en lugar de Update()
para asegurarse de que la cámara se actualice después de que el jugador haya cambiado de posición.
Si necesitas que la cámara mire siempre hacia el jugador sin girar con él, puedes añadir esta línea dentro de LateUpdate()
:
transform.LookAt(player);
Prueba el script y ajusta el offset
en el Inspector hasta encontrar la posición deseada. 🚀
Jorge García
Fullstack developer