LIVE - Upcoming Physical Properties and PartMaterial Changes

Wouldn’t a part of the same mass on the back negate the effect?
The character would rotate less smoothly, but with the total added mass of 2.2 … not noticeable pretty sure.

The entire purpose of setting the density is to remove unwanted mass natively without resorting to hacks. No – adding a counterweight is not a solution. It’s a hacky, laborious fix that requires you to calculate the distance the counterweight should be from the character, add said counterweight to the raycast ignore list and mouse targetfilter, and recalculate the distance the counterweight should be from the character every time a different tool is equipped. Setting the density is a much better solution and it would defeat the purpose of this feature to resort to hacks to solve the problem.

I already proposed to allow us to set the mass to 0, but @Khanovich didn’t approve of it.
It would be nice if we could set it to 0, resulting in the following exceptional behavior:

  • The part has no mass, so it isn’t affected by gravity
  • It acts as if CanCollide is set to false, no matter the actual value
  • It still works with welds, basicly just being offset of Part0 and not influencing it in any way

I think in the term of physics, it basicly means it has none, except being positioned when welded.

He explained why density couldn’t be set to 0 already.

Because collisions would be impossible.
Hence the “act as if CanCollide is false, no matter what”

This is actually going to make a part of my game dealing with density and friction that I’ve been struggling to perfect easier. Awesome!

This was enabled last night but I’m observing before I make a bigger announcement on Monday.

Known Bugs:

  • You can set Custom Physical Properties Terrain for Humanoids only. (Should have no effect at all at the moment)
1 Like

Thought I’d post some notes on the API:

The property is BasePart.CustomPhysicalProperties. Its type is PhysicalProperties. PhysicalProperties has the following fields:

  • Density
  • Friction
  • Elasticity
  • FrictionWeight
  • ElasticityWeight

A new value of the type can be created with the global function PhysicalProperties.new. It can receive 3 or 5 arguments:

  • PhysicalProperties.new(density, friction, elasticity)
  • PhysicalProperties.new(density, friction, elasticity, frictionWeight, elasticityWeight)

CustomPhysicalProperties may also have a value of nil.

Some examples:

Part.CustomPhysicalProperties = PhysicalProperties.new(0.7, 0.3, 0.5)
Part.CustomPhysicalProperties = nil
Part.CustomPhysicalProperties = PhysicalProperties.new(0.7, 0.3, 0.5, 1, 1)
3 Likes

That’s approximately the number of atoms in the known universe squared.

I’m glad it’s still a “yet.”

2 Likes

If you’re going to fix it, at least make a way to disable the new terrain physics behaviour.

https://a.pomf.cat/kjqcwd.mp4

As amusing as this is, it’s not the sort of behaviour I want with terrain in my game.

10 Likes

:confused:


My front-wheel drive, wheel friction 2 cars have terrible handling with this. Super drifty, unresponsive, and awful at hills. Definitely not a smooth default transition.

I’m still trying to figure it out. So far, messing with friction and elasticity on both the ground and the wheels hasn’t really helped much.

There’s this bouncing:

Which the car will do usually also start doing when just driving. I know it’s not an overconstraining issue because it still happens when I strip down the vehicle.

2 Likes

Yeah, I also had to spend quite a bit of time experimenting and re-configuring my game’s cars in order to make them work with these changes. Even then, I wasn’t able to get all the vehicles working as perfectly as they were before the new physical properties.
Try messing with the density on the wheels/other parts of the car as well.

Did you change the friction weight?

Did you mess with the density at all? By default the changing density of parts messes with physics.

I haven’t played with it much. Mostly left it at one. What should it be?

Try 100 (the max). When two parts press up against each other, the friction weight determine’s the friction value that will be used. If the two weights are about the same (like in your case when they were both 1, the default), the resulting value is the average between the two friction values (I think the default friction value is 0.3, so the average between 2 and 0.3 is 1.15). If the weight of one part’s friction is greater than the other one’s weight, the friction of the part with the greater weight will be used.

This could probably also solve @Vorlias’s problem with the terrain ice if humanoid physics take the limbs’ material properties into account. If that’s the case, he could set their friction weight to 50 (greater than the terrain’s weight), so characters would never slide around there, and set the friction weight of parts meant to slide the characters around to 100 (greater than the character’s friction weight)

Ah, that’s what I thought that property did. That won’t help for me though; I have the ground also set to friction 2.

1 Like

What are the friction values on the wheels, and ground? This is Lumber Tycoon 2, right?

Also, you can now disable Terrain’s automatic properties behavior. Terrain with “Custom Physics” will not longer have per-material behavior, and will simply have the entire terrain behave like the property value.

Yeah, Lumber Tycoon 2.

Friction on the wheels and ground are both 2. I’ll PM you a repro file if it helps.

Defaultio, I replied to your PM, but it seems like your game is one of the specific cases that won’t transfer immediately to work with the new system. This is because you are using a lot of metal parts in your cars with default values. When my system converts your place to work with the NEW physical properties, it assumes that you didn’t care about part densities and makes your car suddenly heavier. Try setting all your metal car parts to Density 1 and see if that fixes your problem.

I’ll keep in touch with your specific issue over Private Message.