If I put math.rad(c) on the x and y axis it works, however when I put math.rad(c) on the z axis, it doesn’t work.
local Viewport = script.Parent
local Sword = script.Parent:FindFirstChildWhichIsA("Model").PrimaryPart
local Camera = Instance.new("Camera")
Camera.Parent = Viewport
Viewport.CurrentCamera = Camera
Camera.CameraType = Enum.CameraType.Scriptable
local c = 0;
game:GetService("RunService").Heartbeat:Connect(function()
-- Say we have a variable, that's the primary part of the Sword I'll call it Sword.
local cframe = Sword.CFrame * CFrame.Angles(0, 0, math.rad(c)) * CFrame.new(0, 0, -5)
-- Change the angles accordingly, and the -5 should be distance from the objects center outwards.
-- Once you have that, you want to take that position and have it face the position of the sword, and then set the Viewport's camera cframe to that new cframe.
cframe = CFrame.new(cframe.p, Sword.Position)
Viewport.CurrentCamera.CFrame = cframe;
c = c + 3;
end)