how to make a camera manipulation in roblox studios code example

Example 1: how to make a camera manipulation in roblox studio

local player = game.Players.LocalPlayer -- Checks the player it is in.
local character = player.Character or player.CharacterAdded:Wait() -- Finds the character but if its not found it waits for it.
local camera = workspace.CurrentCamera -- Finds the current camera from the workspace.
local RunService = game:GetService("RunService") -- When were going to step the simulation it will go very fast and will make gitters. So we add RunService. If you want it once you can remove this.
repeat
	camera.CameraType = Enum.CameraType.Scriptable -- Sets the camera to Scriptable.
    wait() -- Waits for a frame. (0.033 seconds.)
until camera.CameraType == Enum.CameraType.Scriptable -- Waits for the camera to be Scriptable.

--[[ You can have these 2 types if you want it to run forever or Run it once.
RunService.RenderStepped:Connect(function() -- Steps into each simulation.
	camera.CFrame = game.Workspace.CameraPart -- Rename camerapart to your camera.
end)
-- Or you can have this
camera.CFrame = game.Workspace.CameraPart -- Rename camerapart to your camera.
]]--

Example 2: Roblox camera manipulation

local TweenService = game:GetService("TweenService")local RunService = game:GetService("RunService") local target = workspace:FindFirstChild("Part")  -- The object to rotate aroundlocal camera = workspace.CurrentCameracamera.CameraType = Enum.CameraType.Scriptablelocal rotationAngle = Instance.new("NumberValue")local tweenComplete = false local cameraOffset = Vector3.new(0, 10, 12)local rotationTime = 15  -- Time in secondslocal rotationDegrees = 360local rotationRepeatCount = -1  -- Use -1 for infinite repeatslocal lookAtTarget = true  -- Whether the camera tilts to point directly at the target local function updateCamera()	if not target then return end	camera.Focus = target.CFrame	local rotatedCFrame = CFrame.Angles(0, math.rad(rotationAngle.Value), 0)	rotatedCFrame = CFrame.new(target.Position) * rotatedCFrame	camera.CFrame = rotatedCFrame:ToWorldSpace(CFrame.new(cameraOffset))	if lookAtTarget == true then		camera.CFrame = CFrame.new(camera.CFrame.Position, target.Position)	endend -- Set up and start rotation tweenlocal tweenInfo = TweenInfo.new(rotationTime, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, rotationRepeatCount)local tween = TweenService:Create(rotationAngle, tweenInfo, {Value=rotationDegrees})tween.Completed:Connect(function()	tweenComplete = trueend)tween:Play() -- Update camera position while tween runsRunService.RenderStepped:Connect(function()	if tweenComplete == false then		updateCamera()	endend)

Tags:

Lua Example