Estoy trabajando en un juego RPG 2D en Unity y quería agregar un movimiento de cámara suave como lo hizo Brackeys en este video .
Ya intenté usar FixedUpdate() , Update() y LateUpdate() , pero nada cuando presiono reproducir la cámara es como quedarse atrás del reproductor. Lo raro es que cuando apago el guión de la cámara el jugador se mueve con fluidez.
Incluso probé Vector3.SmoothDamp() y Vector3.Lerp() pero nada, sigue siendo un poco lento.
como lo soluciono??
Mi código de lejos:
public class CameraMovement : MonoBehaviour{
public Transform target; public float smoothing; void FixedUpdate() { if(transform.position != target.position) { Vector3 targetPosition = new Vector3 (target.position.x, target.position.y, transform.position.z); transform.position = Vector3.Lerp (transform.position, targetPosition, smoothing); } }}
El objetivo es la transformación del jugador.
Intente eliminar esto - if (transform.position! = target.position) Declaración.
Y también multiplique el suavizado con time.deltatime. Aquí-
public Transform target; public float smoothing; void FixedUpdate() { Vector3 targetPosition = new Vector3 (target.position.x, target.position.y, transform.position.z); transform.position = Vector3.Lerp (transform.position, targetPosition, smoothing*Time.deltatime); } }