Constraint advice needed?

For the simplicity of this question, I have a part that can spin and rotate. I need a constraint that offsets the player away from the part. The player’s position should be based on the rotation of the part as I want the player always to be behind. If the part goes up and down I want the player to stay at the elevation of the floor they are standing on. What constraint would I use? From what I have read on the constraint documentation I would use both AlignPosition and AlignOrientation. Still, if there is a better solution that uses one, then I would greatly appreciate and suggestions.

Would I need to do something like this?

local Character = game:GetService("Players"):WaitForChild("Da_Fr0st").Character or game:GetService("Players"):WaitForChild("Da_Fr0st").CharacterAdded:Wait()

local Attachment0 = Instance.new("Attachment", Character:WaitForChild("HumanoidRootPart"):WaitForChild("RootAttachment"))
local attachment1 = Instance.new("Attachment", script.Parent.Tilt.Handles)


local AlignPosition = Instance.new("AlignPosition", workspace)
local AlignOrientation = Instance.new("AlignOrientation", workspace)
AlignPosition.Attachment0 = Attachment0
AlignPosition.Attachment1 = attachment1
AlignOrientation.Attachment0 = Attachment0
AlignOrientation.Attachment1 = attachment1