Загрузка данных


local RunService = game:GetService("RunService")
local camera = workspace.CurrentCamera

-- Настройки
local smoothness = 0.15 -- Чем МЕНЬШЕ число, тем СИЛЬНЕЕ отставание (от 0.01 до 1)

-- Ждем загрузки персонажа
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()

-- Переключаем тип камеры на Scriptable, чтобы управлять ей вручную, 
-- но мы будем брать данные из стандартных расчетов
camera.CameraType = Enum.CameraType.Custom

RunService.RenderStepped:Connect(function(dt)
	if character then
		local targetCFrame = camera.CFrame
		-- Используем Lerp для плавного перехода между текущей позицией и целью
		camera.CFrame = camera.CFrame:Lerp(targetCFrame, smoothness)
	end
end)