Files
2026-08-03 22:34:03 +03:00

36 lines
1.6 KiB
C#

using UnityEngine;
// Замена для CameraFollow3D.
// Камера НЕ вращается и НЕ наклоняется — только плавно следует за игроком.
// Это критично для изометрии: "объём" уже нарисован в спрайтах,
// камера должна смотреть на сцену строго прямо, без LookAt и без наклона.
public class CameraFollowIso : MonoBehaviour
{
public Transform player;
// Смещение камеры от игрока. Z должен оставаться отрицательным
// (камера "позади" сцены по оси Z), X и Y обычно 0, если камера
// должна быть строго над игроком.
public Vector3 offset = new Vector3(0, 0, -10);
// Чем меньше — тем плавнее (и тем сильнее лаг за игроком).
// 5-10 обычно комфортно и без резких рывков.
public float smoothSpeed = 8f;
void Awake()
{
// Жёстко фиксируем поворот камеры один раз.
// Никакого LookAt в Update/LateUpdate быть не должно.
transform.rotation = Quaternion.identity;
}
void LateUpdate()
{
if (player == null) return;
Vector3 targetPos = player.position + offset;
// Плавное движение ТОЛЬКО позиции, поворот не трогаем вообще.
transform.position = Vector3.Lerp(transform.position, targetPos, smoothSpeed * Time.deltaTime);
}
}