Roblox camera manipulation
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.
]]--
4
1
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)
Thank you!
1
0
Are there any code examples left?
New code examples in category Lua
-
Lua 2022-03-27 16:30:01 how to use for iv in pairs
-
Lua 2022-03-27 15:10:08 lua last item in table
-
Lua 2022-03-27 07:10:05 how to make a table in lua
-
Lua 2022-03-25 05:45:17 function parameters roblox
-
Lua 2022-03-24 19:50:37 lua variables
-
Lua 2022-03-16 23:30:02 lua list of all keys
-
Lua 2022-03-16 21:40:31 play sound love2d
-
Lua 2022-03-12 11:15:06 how to get the player mouse in roblox studio
-
Lua 2022-03-12 09:40:17 how to add a damage decimal in roblox studio
-
Lua 2022-03-02 18:40:19 lowercase lua