Run it
Copy the script and paste it into your executor.
-- Script By @AzizAnzofficiall on Youtube
-- ScriptBlox Account @AzScripter
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid = character:()
camera = .CurrentCamera
head = character:()
hrp = character:()
shakePower =
targetFOV =
fovSpeed =
baseOffsetY = -
baseOffsetZ = -
bobAmount =
bobSpeed =
headAttachments = {, , , }
player.CameraMode = .CameraMode.Classic
RunService.RenderStepped:(()
isFirstPerson = (head.Position - camera.CFrame.Position).Magnitude <
_, part (character:())
part:()
part.Name ==
part.LocalTransparencyModifier = isFirstPerson
part.Name ==
attachment = part:()
attachment .(headAttachments, attachment.Name)
part.LocalTransparencyModifier = isFirstPerson
part.LocalTransparencyModifier =
part.Name ~=
part.LocalTransparencyModifier =
)
humanoid.HealthChanged:((health)
health < humanoid.MaxHealth
shakePower +=
)
humanoid.StateChanged:((_, state)
state == .HumanoidStateType.Landed
shakePower +=
)
.ChildAdded:((child)
child:() (child.Position - camera.CFrame.Position).Magnitude <
shakePower +=
)
RunService.RenderStepped:((dt)
time = ()
bob = .(
.(time * bobSpeed) * bobAmount,
.(.(time * bobSpeed)) * bobAmount * ,
)
shake = .(
.(-, ) / * shakePower,
.(-, ) / * shakePower,
.(-, ) / * shakePower
)
shakePower = .(shakePower - * dt, )
headRelativePos = hrp.CFrame:(head.CFrame).Position
humanoid.CameraOffset = headRelativePos + .(, baseOffsetY, baseOffsetZ) + bob + shake
camera.FieldOfView = camera.FieldOfView + (targetFOV - camera.FieldOfView) * fovSpeed * dt
)Features: - Swinging Camera - body visible in first person - customize script Update: - Camera Tracking Head / camera follows the x,y,z position of the head - When is in first person all R15 clothing is visible

Universal