AlignOrientation makes part roll backwards?

Okay, so basically, I have a ball, and since bodyGyro is deprecated, I am using AlignOrientation to make a sort of “friction” for this ball that will slow it’s angular velocity, but the problem is that sometimes when it stops rolling, it will go (roll) backwards for a little. I don’t currently have a video but here are my settings

If there was ANY way to lower the responsiveness to below 5, I wouldn’t have this issue, but unfortunately roblox doesn’t let you do that.

2 Likes

Okay, so I ended up fixing this using some scripting, if you just make the maxTorque a constant it’s gonna do that, however if we adjust it relative to the ball’s angular velocity then we can prevent this rolling back from happening.

Gonna leave the script down below for anyone who needs it.

local RunService = game:GetService("RunService")

local DECELERATION_MULTIPLIER = 4

local ball = script.Parent
local deceleration = ball.Deceleration

local function onPostSimulation(deltaTimeSim: number)
	local assemblyAngularVelocity = ball.AssemblyAngularVelocity
	
	if assemblyAngularVelocity.Magnitude > 0 then
		deceleration.MaxTorque = assemblyAngularVelocity.Magnitude * DECELERATION_MULTIPLIER
	end
end

RunService.PostSimulation:Connect(onPostSimulation)