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


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)