[Full Release] Important Changes to Inertia and Volume Calculations

enable CustomPhysicsProperties. Density is what you use to change the mass. Only diff is that density doesnt change with the size of the object meaning that youd have to readjust the density if the size is changed.

I have two questions for this topic:

  1. What do you mean by mass being concentrated on the “hull” of the block? Is it like having mass concentrated at one point somewhere in the block, or it being evenly distributed around the surface as the block was considered hollow?
  2. Because current inertia and volume calculations were considered bugs, and as such needs to be patched mandatorily across all games, which could majorly affect games that heavily relied on the older physics engine, will it cause the breakdown of communities that wholly take advantage of the physics engine, such like the advanced platforming community of Roblox? I fear that there is no choice in the preservation of past versions of Roblox’s physics solver, unlike other games with a thriving community utilizing an imperfect engine to derive advanced and emerging techniques. (For example, the popular game series Trackmania.) I believe this coming update will render many popular community members, techniques, skills, and hundreds of obbies obsolete, and I also believe most of these communities will not be able to adapt to this change as easily as the rest of Roblox’s player base. Is it alright to take down a part of the Roblox community that enjoyed utilizing the unintentional features Roblox created just because there is no reason to preserve a more broken engine? Is that community wrong for existing and abusing the mechanics of physics Roblox does not want to keep?
2 Likes

I agree with the huge problem relating to obbying. I am actually a part of this community and it creates massive problems for a lot of people. Many hard obbies take advantage of roblox’s current engine and seeing as it’s been rolled out to some users today, it’s causing a legitimate problem… This is ruining years of work within this community.

2 Likes

can i disable it in my game? my obbies are going to be broken

2 Likes

This is going to be a huge problem for advanced obbies, which have become pretty popular at this point. It would be nice to have an option to completely disable this update for your game. I disabled PhysicsIntertiaAndVolumeFix but it looks like it doesn’t do anything.

1 Like

Honestly I don’t know if this is that great of an idea but in my eyes it would be cool to have 2 separate systems for Roblox’s physics based on whether your game wants to be R6 or R15/Arthro.

Maybe, depending on what you pick, the physics system can change that way Roblox can focus on more realistic physics for the newer models while keeping the more classic R6 with its classic physics as to not ruin how the obby community basically functions.

It wouldn’t really be much harder to maintain since you wouldn’t have to update R6 physics unless there’s an issue that pops up, and you could still spend most of your time updating the newer physics.

I would like to confirm if your obbies are GOING to be broken or they ARE broken?

1 Like

[Didn’t realize who you replying to before making this by the way, still useful to give examples I guess though~]

They will be broken in a few areas once the update can’t be disabled since they use some advanced mechanics that made use of the old physics system that this update will change.

For example some stuff like walkarounds where players walk around a barrier without jumping will be affected as well as head hitters which are when the player walk to the edge of a platform then jump up to another platform above it. At least that’s what I have seen in the community currently.

Of course they aren’t broken broken but they are made a lot easier which can disrupt the difficulty of the obby, and I’m worried future updates could worsen it for us.

Here’s some examples of stuff that got changed with the update:

Walkaround -

Headhitter -

General gaps you walk across -

3 Likes

thanks for the videos, but honestly I don’t think inertia changes affect or will affect somehow what I can see on the videos.
also we have inertia changes enabled everywhere, so if you didn’t explicitly disable this change, then new inertia already in all of your places
that being said if you don’t see anything being broken, its not gonna brake when we remove the option
and finally if you saw inertia changes affecting your places, could you provide the video of option being ON and OFF to compare results
Thanks!

1 Like

RE: Platforming (@TestMicrowaveDinner @Abnumality @SpynApple_P @IVTROY @aKayLotl)

Just want to clarify that advanced platforming tricks like walkarounds and headhitters are based on character collision geometry, which isn’t changed here.

Happy to take a look at anything you find. We generally need a solid reproduction case with a before and after where flipping PhysicsIntertiaAndVolumeFix shows a demonstrable difference.

This is going to be a huge problem for advanced obbies, which have become pretty popular at this point. It would be nice to have an option to completely disable this update for your game. I disabled PhysicsIntertiaAndVolumeFix but it looks like it doesn’t do anything.

If you disabled PhysicsIntertiaAndVolumeFix and saw nothing, then you aren’t affected by this change.


As a more general thing: If you started seeing an issue with R6 collisions, you should make a separate bug report so we can do a proper investigation - How to post a Bug Report

5 Likes

For anyone who was worried about the changes affecting obbies, see this thread: https://devforum.roblox.com/t/the-obbying-community-feels-flat-out-ignored-at-this-point/1878555/19

TL;DR: The obby breakage was unrelated to the Inertia and Volume changes, but the flag that was causing it has been reverted and you should no longer be running into issues.

3 Likes

Thanks for the fix~!!

Glad to hear it won’t be affecting us anymore, and sorry from the obby community for making assumptions that this update caused the bugs directly ^^

1 Like

Hello developers,

We’re one month into the opt-out phase and are glad to see that most places are now using the new inertia changes. However, there is a very small percentage of places that have not yet updated and we are nearing the window where we will be disabling the opt-out capability.

Please review and take the time to update your experiences before August 1. If you have any issues updating your experience please reply to this thread as soon as possible so we can help.

5 Likes

For whatever reason, disabling this feature allows the client to disable motor6Ds as I would expect, while enabling it causes some weird glitchiness. Any insights here?

Disabled:

Enabled:

I deleted this because it seems the main problem persists with the flag off, even if alleviated a bit with the flag off. However, I can’t think of any other updates that may have started this behavior. I’ve tried reverting back to versions before the bug appeared, and it’s still there, so I know it isn’t me.

Maybe this is peripherally related?

Update: Looks like the animator function :ApplyJointVelocities() is responsible for the behavior.

With that in mind, is there any way to tie in meshparts or unions, by means of convex decomposition, or hulls? Unions seem easier because you can go part by part and adjust the volumes properly reflecting what’s inside the bounding box. But static meshes, man I wish!!

I don’t understand the difference.

could you provide a .rblx file with the issue? we’d like to investigate this

Hey developers,

Thank you for your continued feedback throughout this process. As of August 1, 2022 we have moved to the full release. This is now enabled for every place on the platform.

If you have any feedback or questions feel free to continue to reply in this thread!

1 Like

Do we still have a choice to disable this?

EDIT: ok nope nvm

It would be nice to have a way to both read and set the inertia tensor directly. This is already possible in both UE4’s PhysX and UE5’s Chaos using the SetMassSpaceInertiaTensor function. I am working on implementing an aircraft simulation based on published simulation data, and in order to accurately model how the vehicle performs I need to be able to set the physical parameters to match those in the papers. One such value is the interia tensor.

<ixx unit="kg-m^2"> 9638.0 </ixx>
<iyy unit="kg-m^2"> 33240.0 </iyy>
<izz unit="kg-m^2"> 25889.0 </izz>
<ixy unit="kg-m^2"> 0.0 </ixy>
<ixz unit="kg-m^2"> 2226.0 </ixz>
<iyz unit="kg-m^2"> 0.0 </iyz>
<mass unit="kg"> 5805.0 </mass>

Relying on scaling parts and playing with density to approximate these values is inadequate. Other engines already provide this so it would be nice for Roblox to do so as well.

4 Likes