Smooth zoom
Key RequiredUniversal

Smooth zoom

Universal Scriptstyearstyear 452 views 117 executesUpdated Feb 27, 2026
Unrated
00
Lua Script•58 lines (1457 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera

local gui = Instance.new("ScreenGui")
gui.Name = "Fat chicken"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.DisplayOrder = 999999
gui.Parent = playerGui

local button = Instance.new("ImageButton")
button.Size = UDim2.new(0,70,0,70)
button.Position = UDim2.new(1,-90,0,180) 
button.BackgroundTransparency = 1
button.Image = "rbxassetid://16803802267"
button.ZIndex = 10
button.Parent = gui

local inner = Instance.new("ImageLabel")
inner.Size = UDim2.new(0.6,0,0.6,0)
inner.Position = UDim2.new(0.2,0,0.2,0)
inner.BackgroundTransparency = 1
inner.ImageTransparency = 0.6
inner.Image = "rbxassetid://109979156401954"
inner.ZIndex = 11
inner.Parent = button

local zoomed = false
local defaultFov = 70
local zoomFov = 40
local tweenTime = 0.45

local function smoothZoom(targetFov)
	local tween = TweenService:Create(
		camera,
		TweenInfo.new(tweenTime, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
		{FieldOfView = targetFov}
	)
	tween:Play()
end

button.MouseButton1Click:Connect(function()
	zoomed = not zoomed
	
	if zoomed then
		inner.Image = "rbxassetid://138859576786038"
		smoothZoom(zoomFov)
	else
		inner.Image = "rbxassetid://109979156401954"
		smoothZoom(defaultFov)
	end
end)

camera.FieldOfView = defaultFov

Features & Information

Smooth zoom Client side
#StyearX

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts