local RunService = game:GetService("RunService")
local camera = workspace.CurrentCamera
local player = game.Players.LocalPlayer
-- Постоянная переменная для хранения вектора с отступом от объекта
local CAMERA_OFFSET = Vector3.new(-1,60,0)
-- Изменяем тип камеры на "управляемый скриптами"
camera.CameraType = Enum.CameraType.Scriptable
local function onRenderStep()
-- Проверка, что игровой персонаж загрузился
if player.Character then
-- Получаем позицию игрока
local playerPosition = player.Character.HumanoidRootPart.Position
-- Смещаем полученные координаты на величину отступа камеры
local cameraPosition = playerPosition + CAMERA_OFFSET
-- Перемещаем CFrame камеры на новую позицию
camera.CoordinateFrame = CFrame.new(cameraPosition, playerPosition)
end
end
RunService:BindToRenderStep("Camera", Enum.RenderPriority.Camera.Value, onRenderStep)