Part physics help

I’m trying to use AssemblyLinearVelocity in order to create a part and cast it in the direction of the players mouse, which works fine. However it will roll forever regardless of custom physical properties like friction.

I’ve tried using VectorForce and LinearVelocity but there just isnt that much information on them that I can find anywhere that goes beyond “make a part move in this direction”.

Here is my code:

local UIS = game:GetService("UserInputService")
local plr = game.Players.LocalPlayer
local handle = script.Parent.Handle
local mouse = plr:GetMouse()

local function addPart()
	local MousePos = mouse.Hit.LookVector
	local new = Instance.new("Part")
	new.Parent = game.Workspace
	new.Shape = Enum.PartType.Ball
	new.Size = Vector3.new(0.5, 0.5, 0.5)
	new.CFrame = handle.CFrame
	new.AssemblyLinearVelocity = MousePos * 100
	new.CustomPhysicalProperties = PhysicalProperties.new(2, 2, 1, 1, 1)
end


local function castParticle(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then
		addPart()
	end

end


script.Parent.Equipped:Connect(function()
	UIS.InputBegan:Connect(function(input, gameprocessed)
		if gameprocessed then return end
		castParticle(input)
	end)
end)

Is there a really simple way of doing this that I just dont realize? Also, any links to resources on linearvelocity/vectorforce/assemblylinearvelocity are helpful.

AssemblyLinearVelocity is the direction a part is going, its used to, I guess, predict where a part is going. I think what you want to use is Basepart:ApplyImpulse(Vector here). Basically replace this:

new.AssemblyLinearVelocity = MousePos * 100

with this

new:ApplyImpulse(MousePos * 100)

Yeah I’ve tried that, still rolls forever

new.Shape = Enum.PartType.Ball

The part is a ball, Im pretty certain it’s gonna keep rolling