local Camera = game.Workspace.CurrentCamera
local RunService = game:GetService("RunService")
local Head = game.Players.LocalPlayer.Character:WaitForChild("Head")
Camera.CameraSubject = Head
RunService.RenderStepped:Connect(function()
Camera.CFrame = Head.CFrame
end)
it works but i cant move my camera and also my character is visible.
i know how to make my character invisible but idk what to do to make the camera move
Nevermind! After a bit of brainstorming I came up with this :
local Camera = game.Workspace.CurrentCamera
local RunService = game:GetService("RunService")
local Head = game.Players.LocalPlayer.Character:WaitForChild("Head")
local Humanoid = Head.Parent:WaitForChild("Humanoid")
Camera.CameraSubject = Head
local Mouse = game.Players.LocalPlayer:GetMouse()
local whitelist = {
"UnionOperation",
"Part",
"BasePart",
"MeshPart"
}
local UserInputService = game:GetService("UserInputService")
local root = game.Players.LocalPlayer.Character.HumanoidRootPart
RunService.RenderStepped:Connect(function()
Camera.CFrame = Head.CFrame
if Mouse.hit ~= nil then
Camera.CFrame = CFrame.new(Camera.CFrame.Position, Mouse.Hit.Position)
end
for i, v in pairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v.Name ~= "HumanoidRootPart" and table.find(whitelist, v.ClassName) and not v:FindFirstAncestorOfClass("Tool") then
v.Transparency = 1
end
end
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
Humanoid.AutoRotate = false
end)
Works like a charm!
It’s missing some stuff but it’s intended for a single-player fps so it really doesn’t matter.