Object's mass doesnt change despite massless value being on

By using the massless property. I was saying I don’t think it takes Mass into account when it solves for physics for this object. (when Massless is enabled)

1 Like

It doesnt affect the object at all, even if massless is on, its not just a text bug

I think the displayed Mass still shows without changing. Massless just makes it not react to physics as if it’s massless as @Geolio9 said.

I can’t recall ever looking at the displayed Mass Property in Parts or Models when I’ve got the Parts set to Massless though.

1 Like

Not sure if it would work but you could try turning on custom physical properties and just setting the density really low

That does not work. It makes it more glitchy infact

Is it affecting the way the object moves or flies?

Yes. all parts need to be massless

You’ve only stated:

  • Object’s mass doesn’t change with Massless true.
  • It doesn’t affect the object at all.
  • It makes it more glitchy.
  • All parts need to be massless

I’m pretty sure we’re not giving you the answers you want because you haven’t really explained what you are trying to do.

If you have Massless checked off then Parts don’t react to physics. It doesn’t mean they’ll float gravity free.

If they have a Mass number does it affect the way the Part moves?
To experiment, try increasing the Density of the Parts to 10 to see if that affects it when you check the Massless box. Test it to see how it reacts. Stop testing, change the Density of the Parts to .1, keep them Massless, and test again.

If you want to make a Part float then try searching “anti gravity” or something similar. Posts like this might help: How to make a part anti-gravity

Basically: I am making a plane, i am trying to make the entire body of the plane weightless and not react to physics except for the flaps (so it can turn)

If you are making it according to the new FluidDynamics the plane should NOT be weightless. It needs mass to be able to fly properly, but a very low mass.
Make a Part of the model the PrimaryPart, and put a small Density on it. When you weld all the other Massless Parts to it then they won’t affect Physics.
If you are looking at the Mass number and it’s not changing to 0 I think that’s normal. It’s the Mass only if the Massless box is not checked off.

just make an opposite vector force to counterract the gravity using obj:ApplyImpulse()

This would be very unstable and hard to calculate, especially if the plane is complex/detailed.

It infact is very complex and detailed. aguhjeihjrihrhehrhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

1 Like

Have a look at the link I posted above.
In their announcement they have an F-16 jet place you can download and edit to see how they accomplished flight with the fluid dynamics.

The Massless property only has effect if the part is connected to a part that has mass. An entire assembly (group of rigidly connected parts) cannot be massless. If the mass of an assembly could be zero, that would mean that any force would give the assembly an undefined or infinite acceleration.

that recommendation i made above is only for the anti gravity part

and idk it might work ill do a quick code thingy
(im writing on a phone)

local mesh = workspace.obj
local rs = game:GetService("RunService")

rs.PreSimulation:Connect(function()
     local gravity = workspace.Gravity --Put this in workspace if you dont want to check if the gravity changes every frame
     local force = Vector3.yAxis * gravity --If this makes the part fly down either make the vector a negative or the gravity variable

     obj:ApplyImpulse(force) --Im not sure if i should multippy this with deltatime lol
end)

try if this works lol, if it dont then ionknow :pray::pray:

this might work cause obj:ApplyImpulse() does its force stuff on every object at the center of its mass

Why would you use ApplyImpulse() to counteract gravity? Impulse is the change of momentum or alternatively force multiplied by the time that force affects the object. Considering the latter definition, multiplying the force by delta time (as you mentioned in a comment) might work since gravity has affected the part for that duration since the last time you applied impulse. But still, I would only recommend using :ApplyImpulse for achieving near-instant change of velocity, and calculating the impulse using mass and desired velocity change.

Also, you are not accounting for the part’s mass in this code. workspace.Gravity is the magnitude of the acceleration caused by gravity. To get the force, you need to multiply acceleration with mass.

For counteracting the gravity of a part, I would recommend using a VectorForce and settings its ApplyAtCenterOfMass to true.

local part = -- the part that has mass.

-- You don't need to update this unless assembly mass or `workspace.Gravity` changes.
local antiGravityForce: Vector3 = part.AssemblyMass * workspace.Gravity * Vector3.yAxis

local attachment0: Attachment = Instance.new("Attachment")
attachment0.Name = "AntiGravityAttachment"
attachment0.Parent = part

local vectorForce: VectorForce = Instance.new("VectorForce")
vectorForce.Force = antiGravityForce
vectorForce.ApplyAtCenterOfMass = true
vectorForce.Attachment0 = attachment0
vectorForce.Parent = part
1 Like

Oh, honestly thanks for the information! I’ve been dumb enough to use :ApplyImpulse for a while now since I also got used to it.

But thanks for this! :)))

And @ZestyIsSour.
Sounds like they are trying to use Fluid Forces to fly an airplane. In that case there shouldn’t be an anti-gravity script or force applied.

In roblox impulse uses the impulse equation with velocity and mass AFAIK.
J = m*dv
I think that because its instantaneous.