Massless Hats & Other Accoutrement

I was considering remaking swimming at one point because of this. Thanks for the timely save!

(Yes, I know I could easily put a bodyforce that pushes up the mass of all the hats. Luckily there’s not a need for that anymore.)

1 Like

(sheds a single tear as my several-year-long wish has finally been fulfilled)

10 Likes

Did this get reverted? Calling GetMass on my hats’ handles returns non-zero values, and I sink with hats equipped versus floating upwards with no hats.

This is a much needed and appreciated updated, but I’m disappointed that this is a humanoid-only feature. I and others have been asking for massless/physics-less vanity parts for a while for models that are aesthetically complicated but only need to be simply physically simulated for the purpose of the game (guns, cars, mars rovers). It’s a little disappointing that this thing we have been asking for was implemented and is possible but not in a way that is usable. It would be great to see this feature extended.

4 Likes

Yes! Especially useful for tools as they currently mess up character physics if they’re large :frowning:

Is what you’re proposing any different than setting the density of a part to 0? We can already do that with PhysicalProperties

I don’t think you can set it to 0?

Yes you can, with PhysicalProperties.new(float density, float friction, float elasticity)

If P was a part, you can do P.CustomPhysicalProperties = PhysicalProperties.new(0, 1, 1)

(technically the minimum is 0.01, but that’s good enough, isn’t it?)

No sir, that’s not 0, it would still affect the physics of the character, especially if the tool has high part counts

But with 0 density (i.e. massless), any elastic collision would cause it to be launched at infinite speed. 0.01 should be an acceptable minimum.

Have you tried it?

Would be useful if you could set the density of an assembly, but I am not sure that would be feasible for things that break apart. (Unless they do it the same way they are doing these hat changes)
If you have 100 0.01 density parts, you suddenly have a part that is density 1 which can start to affect the character.

Parts with 0 density attached to another just aren’t physically simulated. Parts can’t be 0 density attached to another.

Yes. A suit of armor and/or a large weapon made out of a lot of parts still has noticeable weight when being physically simulated. Even if its parts have a density of 0.01, the character may lose a stud of jump height (may make certain parts of the map inaccessible if they require a tight jump to get there) or their CoM will be visibly offset from their HRP and cause the character to rotate around some arbitrary point around their character (yuck!).

1 Like

Your suit of armor example will be impossible, then.

Also, the Plastic material has a density of 0.7. A Character would probably have ~13 studs^2 worth of parts, so that comes up to a total mass of 9.1. If we add an equivalent volume of 0.01-density parts, we would add 0.13 to the total mass, which is a mere ~1.48% increase. I highly doubt that’s enough to decrease the jump height by a stud, given that there are hats that are heavier than that.

EDIT: Also, with this update, why not just attach the suit of armor as an accessory?

Just to give you a sense of scale, A 1x1x1 part of 1-density is equivalent to a part with ~4.6x4.6x4.6 part with 0.01 density. A 1^3 part wouldn’t bother your character, so a 4.6^3 part shouldn’t, and I can’t think of a case where a tool is at least 4.6^3 in volume.

You’re making a lot of assumptions here:

  • The armor is hollow
  • parts may extend through the body to cover both sides instead of creating a hollow shell
  • The body’s surface is covered once
  • I may have the base platemail, and then another layer of it for detail (sigils, embroidery, etc)
  • There are no extrusions
  • Pauldrons, shoulder spikes, etc

Not sure about the others suggesting this, but I have personally dealt with models where 0.01 density is not enough to make mass negligible. I encourage you to review the previous posts and reflect on the effectiveness of 0.01 density in light of multiple developers saying it doesn’t suit their needs.

Armor maybe, but this wouldn’t work for weapons/equipment.

2 Likes

Nowhere in my post did I make the assumption that the armor was hollow. If anything, I assumed that the armor occupies the entire volume of the character.

Again, are you absolutely sure that it isn’t negligible?

All the developers that have commented so far have yet to present a concrete example, only hypotheticals, and neither have you. Here are extreme, concrete example I made myself.

Light is a tool with a density of 0.01, Heavy is a tool with a density of 0.7 (Plastic). Nothing is the control. Blocks are 2x2x4

Another example, (EDIT: 100) random protrusions on one side of the character as long as 5 studs, originating from the center. 0.7 density vs 0.01 density.

And lastly, I’m not arguing that 0.01-density will eliminate all negative effects of having large parts sticking out of your character, but in any practical example, it gets pretty darn close at doing so.

1 Like

This is true.

They tried shipping this update earlier, but I ended up having to make a bug report thread because my character models were getting launched with infinite velocity, so whenever a morphed avatar jumped or even rotated a bit too fast, their CFrame was set to an unreal value.

You’re right, which is why the part would be in no way physically simulated. I think @EchoReaper might have touched on this, but to be explicit, zero density would require cancollide false. This is the nature of these parts for the sole purpose of vanity.

2 Likes

If all you’re looking for is vanity, why not use meshes?

Exactly.

Zero density should force disable collisions.