How to apply enough force to a massless object to get it to fall

I have this light pole. It’s made of 3 parts, 2 meshes and a rootpart. The meshes have no collisions whatsoever, not anchored, etc.

The root part is anchored, but has cancollide false. All the parts are Massless. All the meshes are welded to the root part When I hit the root part, it’s supposed to apply a force to knock the lamp over, however it’s inconsistent. SOmetimes the lamp falls, sometime it doesn’t

self.Trove:Connect(self.Instance.PrimaryPart.Touched, function(hit)
		if not CollectionService:HasTag(hit.Parent, "Vehicle") then
			return -- Not a vehicle, do nothing
		end

		if self.KnockedOver then
			return
		end

		self.KnockedOver = true

		Library:Weld(self.Instance, self.Instance.PrimaryPart) -- Weld all the parts

		-- Unanchor the model (so it falls over)
		for _, part in self.Instance:GetDescendants() do
			if not part:IsA("BasePart") then
				continue
			end

			part.Anchored = false
		end

		self.Instance.PrimaryPart:ApplyImpulse(
			CFrame.new(hit.Position, self.Instance.PrimaryPart.Position).LookVector.Unit * 1000
		)

		print(CFrame.new(hit.Position, self.Instance.PrimaryPart.Position).LookVector.Unit * 1000)

		task.delay(Constants.DESTRUCTIBLE_RESPAWN_TIME, function()
			self.Backup.Parent = self.Instance.Parent

			self.Instance:Destroy()
		end)
	end)

ezgif.com-gif-maker - 2023-01-01T230700.380

It’s supposed to knock over in the direction the car drives too. The reason I have all collisions disabled is cause there are instances where a car will hit it and stop, before the pole falls over. I need the car to be able to drive cleanly through anything they hit

Adding more to the multiplier just makes the light like teleport up for some reason and stay stuck in the middle of the air. No knock over whatsoever

Is the root part connected via welds? If so then set Anchored to false which causes the whole pole to fall.

Please read the post. How can the pole fall if it has no collisions? All collisions are set to false for a reason, and I go into great detail as to why this is. Please read

Then how would you make a non-collidable model fall? Your not showing how the pole falls and would the parts would even fall connected? Edit: Don’t use .Unit, in rocket launcher they get the direction via .LookVector not .LookVector.Unit.

Again, if you read my whole post you wouldn’t have to ask these questions :man_facepalming:

As I said in the edit:

If you didn’t read the edit.

ezgif.com-gif-maker - 2023-01-02T104326.560
It still doesn’t fall all the way over. it more or less just tilts. No part inside the object is anchored

Adding more force does this too
ezgif.com-gif-maker - 2023-01-02T104532.988

Enable collisions on the light pole and then set the light pole and the car to not collide using collision groups. Also set the light pole to have mass when you’re applying force

1 Like

That is what I am doing already. Applying mass just made it less likely to fall over

The reason why is that the force includes the Y axis.

A massless object cannot be made to fall by applying force to it. This is because an object’s mass determines how it responds to gravity. If an object has no mass, gravity has no effect on it and it will not fall. Instead, it will remain stationary or continue to move in the same direction. However in Roblox, you must give an object a non-zero mass in order for it to fall. You can accomplish this by using the Mass property of the Part object. The “Part” object’s “ApplyForce” method can then be used to apply a force to the object.

1 Like