hey, as it’s pretty self explanatory in the title, the friction on the floor makes my character go WAYY shorter than it should be. I’m making a roll move where it gives you some velocity when you roll, however it’s not going as far as I intend it to.
How are you handling the roll velocity? Do you ApplyImpulse()?
I believe it may be because of the character collision affecting the maximum distance. Could you try to set all Humanoid’s parts to not collide and let me know the result?
I don’t know if turning into a sphere is a good option but you can create a sphere at the center of the character weld it to the character and move it then make all the other parts collisionless, then play the roll animation
if youre making a dash like movement and dont want it to affect the y axis I used linear velocity and had it to plane, also I see people using peraxis. God bless.
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local uips = game:GetService("UserInputService")
uips.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.T then
local linearvelocity = Instance.new("LinearVelocity")
local attachment = Instance.new("Attachment")
linearvelocity.VelocityConstraintMode = Enum.VelocityConstraintMode.Plane
linearvelocity.RelativeTo = Enum.ActuatorRelativeTo.World
linearvelocity.PrimaryTangentAxis = Vector3.new(1,0,0)
linearvelocity.SecondaryTangentAxis = Vector3.new(0,0,1)
local direction = character.HumanoidRootPart.CFrame.LookVector
linearvelocity.PlaneVelocity = Vector2.new(direction.X, direction.Z) * 50
linearvelocity.Attachment0 = attachment
linearvelocity.MaxForce = 25000
attachment.Parent = character.HumanoidRootPart
linearvelocity.Parent = attachment
game.Debris:AddItem(attachment, 1)
end
end)