I’m making something similar to web swinging or odm gear. The problem is orbiting up and down doesn’t work as intended.
Its supposed to wrap around kind of. The red thing is the rope but I forgot to add a label to that. Visual:
This is what actually happens: (Holding W Key)
robloxapp-20250317-1224118.wmv (1020.6 KB)
This is a snippet of the code im using, but if you need more code then just ask
--Determined by UserInputService
local sideToSide = 0
local upToDown = 0
local circleConstant = math.pi / 2.8--4.8--/ 2.4
--Failed attempts
--local vertical = CFrame.Angles(0, circleConstant * sideToSide, cirlc).
--bodyVelocity.Velocity = (CFrame.new(hrp.Position, hookPart.Position) * CFrame.Angles(circleConstant * upToDown, circleConstant * sideToSide, 0)).LookVector * turnSpeed
--local angled = CFrame.new(hookPart.Position, hrp.Position) * CFrame.Angles(circleConstant * upToDown, circleConstant * sideToSide, 0)
--bodyVelocity.Velocity = -angled.LookVector * turnSpeed
local delta = (hrp.Position - hookPart.Position)
local cross = (CFrame.new(hrp.Position, hookPart.Position) * CFrame.Angles(circleConstant * sideToSide, circleConstant * upToDown, 0)).LookVector.Unit --(Vector3.new(-upToDown, -sideToSide, 0)
bodyVelocity.Velocity = cross:Cross(delta).Unit * turnSpeed
--bodyVelocity.Velocity = (CFrame.new(hrp.Position, hookPart.Position) * CFrame.Angles(circleConstant * upToDown, circleConstant * sideToSide, 0)).LookVector * turnSpeed```