Did gravity change?

I’ve had a lot of issues these past few hours with BodyMovers suddenly not working like they once did. A rocket that once flew torwards the player now does this:

Aditionally, the long jump in my game which uses a BodyForce is suddenly much floatier, and you sometimes go flying as well. What happened?

Additionally, I am having issues with BodyGyro spazzing out and deleting the object it is in when I put the D value up.

PGS is on with this
I tried both New and Default physical properties with this.

A demo of the issue:

When I remove the BodyGyro, or put the D to 500, it does not do this behaviour.
All I do in this video, is click Play, and it does it, and deletes itself from workspace.

1 Like

Put a part down, add BodyThrust with a force of (0,part:GetMass()*196.2,0).
If it’s not moving (well, less than 0.1stud/second) gravity is still the same.

@ghostleader Maybe check if it’s close to the DestroyPartsHeight limit?

Its not, this was at height 0, the ship is about 5-10 studs high, and the DestroyPartsHeight is -500.

1 Like

Set the Density of all your parts to 1 via this command line script:

function r(f)
    for _,j in pairs (f:GetChildren()) do
        if j:IsA("BasePart") then
            local h = j.CustomPhysicalProperties
            j.CustomPhysicalProperties = PhysicalProperties.new(1,j.Friction,j.Elasticity)
        else
            r(j)
        end
    end
end
for _,j in ipairs ({workspace, game.Lighting, game.ServerStorage, game.ServerScriptService, game.ReplicatedStorage}) do
    r(j)
end

EDIT: and also remember to change all the scripts that create parts to do the same, because ahhahaha it’s a roblox update, if you aren’t negatively affected by it in some way it’s just not the same.

3 Likes

The part doesn’t move, but that doesn’t explain why all my velocity-based scripts are suddenly adding crazy amounts of force - especially considering I haven’t updated the game since the 1st of January.

Also, the rocket shown in the gif uses BodyForce to float and stuff, and after doing some more tests, it seems it’s mainly BodyForce and BodyGyro that has been “harmed”. BodyVelocity, BodyThrust and BodyPosition works like it used to.

This was enabled today:

Could it have to do with that?

I assume this is the problem. Guys, PGS = Default is the same as PGS = New right now. Default is no longer the same as Legacy.

Guys when you post bug reports please include links to the place and steps to reproduce.

1 Like

Turns out it has to do with the new physical properties, yeah. I ran @NWSpacek’s command, and it works now. Thanks, and sorry for not realising this.

PGS ≠ physical properties:

PGS changes the math behind how physics are calculated.

Physical properties just adds density.

1 Like

I had this issue and a lot of devs are currently, go to the workspace and set PhysicalPropertiesMode to legacy. This should fix all the unwanted ‘gravity’ behaviour

1 Like

I’m not sure if PhysicalProperties will be forced anytime, but you could set the Density to whatever you want.

Does the PP.Density not affect Part:GetMass(), or did OP calculate the needed force once and stick with that value?

Density will change GetMass which is why we recommend using that function. Also, switching to legacy should only be considered a stop-gap measure if you need your game to work right now. The current plan is to actually phase out legacy as well, so you should not depend on it. Switch to legacy to give yourself time to tune the densities and forces, but don’t expect it to fix all your problems.

1 Like

@ghostleader @Patrickblox @einsteinK

Bad bad bad bad advice to give. Legacy will be phased out in about a month. Please fix your scripts to properly ask the object about it’s mass before applying forces in Body Forces. The reason this is happening is because objects now have appropriate densities based on Material. These densities can be overwritten, see this thread for API details: LIVE - Upcoming Physical Properties and PartMaterial Changes

Please only use Legacy if the above advice doesn’t fix your game. If you have to use Legacy to fix your game PLEASE REPORT IT HERE, because LEGACY to me means “I could not make the game work correctly with variable mass/friction/elasticity values”.

Here is the migration announcement.

Please read this thread. For the last week if you opened Studio, there was a message directing you to that thread.

VERY IMPORTANT
Legacy is a temporary solution for you to migrate your game correctly. Please do not switch to legacy and expect EVERYTHING to be okay because LEGACY will be removed in about a month. Please fix your scripts to grab the correct mass values, or modify your objects to have the expected densities!

4 Likes

Um… didn’t Studio have a huge ass banner stating that this change will take place today…?

1 Like

If that is the case, you’d better head over to the game creation forums on ROBLOX and tell people to NOT use legacy as that’s where I found the solution and it looks like a lot of people are using legacy.

It’s all well and dandy to ask us to script it but what about those who can’t script? We’re sitting ducks essentially :frowning: (I would LOVE if someone could provide a script which gives us the same functionally as Legacy does currently)

You don’t need to know how to script. The UI is described in one of the threads I linked. If you set the Density to 1, things should behave mostly like Legacy.

Can you link me any of these threads?

1 Like

If you aren’t using a script, how else will you set the density of parts to 1 en mass?