How Can I Prevent Jittery BodyMovers?

Hi. In the prototype below, when I crash into an object, the vehicle jitters a lot. I am looking to achieve collisions like this where when I crash into something, the vehicle just “pauses”.

Here is the code for the prototype. Any help is appreciated!

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local Plane = workspace.Plane
local Camera = workspace.CurrentCamera

RunService.RenderStepped:Connect(function()
	local CameraCFrame = Camera.CFrame
	
	Plane.BodyVelocity.Velocity = Mouse.Hit.LookVector * 100
	Plane.BodyGyro.CFrame = CFrame.new(CameraCFrame.Position, Mouse.Hit.Position)
end)

Thanks!

Try increasing your BodyGyro’s Force to (math.huge, math.huge, math.huge)

It is already set to (inf, inf, inf).

try to use raycast so if it finds a part,it will slow down till 0 velocity @0929lego

1 Like

What is the Vehicle’s Mass (Density)? Try increasing or decreasing it to see if that helps.

Maybe check the Friction property as well to see if changing that helps.

1 Like

After some advice from Orange12345 (thank you), I was able to solve this.

I first tweaked the BodyGyro to have infinite torque, then I set the BodyVelocity to have a decently high value, but not infinite. Lastly, I set all objects apart of the vehicle to have Massless set to true, and then I set a single root part to have Massless set to false (this root part was the size of the entire model). If you want players in your vehicle, then you will also have to set their limbs to have Massless set to true when they enter the seat. Note that the root part can have CanCollide set to false.