Recently I've been trying to make my Player tilt Corresponding to the Platform they are standing like what they do in an Unpopular Game Called Boost Vector and in Sonic Simulator. The method I used is:
-- Variables/Instances local Player = script.Parent.Parent repeat wait() until Player.Character.HumanoidRootPart local Humrp = Player.Character.HumanoidRootPart local Hitbox = Instance.new("Part",Humrp) Hitbox.CFrame = Humrp.CFrame Hitbox.CanCollide = false Hitbox.Transparency = 1 Hitbox.Size = Vector3.new(3,6.2,3) local Weld = Instance.new("WeldConstraint",Humrp) Weld.Part0 = Humrp Weld.Part1 = Hitbox local Hit local CanTurn = false -- Functions Hitbox.Touched:Connect(function(hit) if hit.Name == "FloorPart" then if Hit == hit then return end CanTurn = true Hit = hit end end) Hitbox.TouchEnded:Connect(function(hit) if hit.Name == "FloorPart" and hit == Hit then Hit = nil CanTurn = false end end) while true do wait(0.005) -- Added a wait() to avoid lagging if CanTurn == true then Humrp.CFrame = Humrp.CFrame*CFrame.Angles(math.rad(Hit.Orientation.X),0,math.rad(Hit.Orientation.Z)) end end