I'm aiming to to do this without bodygyro because the object I want to revolve, is a camera.

The Camera's position is Vector3.new(0,4,0)

The circular movement to have an radius of 12

I want the object to reach the points, (0,12) , (0,-12) , (-12,0), and (12,0)

What math equation would I make, to do this?

I'm wondering how exactly would I input this into my script correctly????????

I made this script but it doesn't give my my desired result and the camera revolves around the character in a rhombus shape.

local CameraValueX = script.Parent:WaitForChild("XValue")
local CameraValueY = script.Parent:WaitForChild("YValue")
local CameraValueZ = script.Parent:WaitForChild("ZValue")
local CameraValueVector3 = script.Parent
local Moving =  script.Parent:WaitForChild("MovementValue")
local uis = game:GetService("UserInputService")
local SensitivityX =  script.Parent:WaitForChild("CameraSensitivityX")
local SensitivityY =  script.Parent:WaitForChild("CameraSensitivity Y")
local SensitivityZ =  script.Parent:WaitForChild("CameraSensitivityZ")


uis.InputBegan:connect(function(input,gp)
if input.UserInputType == Enum.UserInputType.Keyboard and (not gp) then
if input.KeyCode == Enum.KeyCode.Left then
	Moving.Value = -1
	while Moving.Value == -1 do  
		wait()
CameraValueX.Value = CameraValueX.Value + SensitivityX.Value <--- moving things
CameraValueZ.Value = CameraValueZ.Value - SensitivityZ.Value <--- moving things
end
end
end
end)

uis.InputEnded:connect(function(input,gp)
if input.UserInputType == Enum.UserInputType.Keyboard and (not gp) then
if input.KeyCode == Enum.KeyCode.Left then
Moving.Value = 0
end
end
end)


uis.InputBegan:connect(function(input,gp)
if input.UserInputType == Enum.UserInputType.Keyboard and (not gp) then
if input.KeyCode == Enum.KeyCode.Right then
	Moving.Value = 1
	while Moving.Value == 1 do 
		wait() 
CameraValueX.Value = CameraValueX.Value - SensitivityX.Value <--- moving things
CameraValueZ.Value = CameraValueZ.Value + SensitivityZ.Value <--- moving things
end
end
end
end)



uis.InputEnded:connect(function(input,gp)
if input.UserInputType == Enum.UserInputType.Keyboard and (not gp) then
if input.KeyCode == Enum.KeyCode.Right then
Moving.Value = 0
end
end

4 comments

0

The wiki explains how to do this (and gives the code) http://wiki.roblox.com/index.php?title=Camera_manipulation

0

Noooo, I want the camera to orbit the actual object, not just rotating and calling it "circling the part"

0

It teaches you how to revolve around the part, though.

0

@XAXA I am trying to avoid anything pertaining to CFrame.Angles, so the wiki is not specific to this matter.