LIVE - Upcoming Physical Properties and PartMaterial Changes

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.

Making the switch seemed to greatly effect my game (which is a hockey game, played on low friction Ice [which was .18]). I noticed that the default forces used to Move the Character gained significant Power, as in acceleration and deceleration was almost instant (even on .05 friction Ice at a weight of 5, and .2 friction on the legs). Also the BodyForce I applied to the player (to help him gain speed on old setting) seemed to have no effect on the new settings. [Note: I use a walkspeed of 32 to 48 in my game, not your typical 16].

However, I did manage to solve this problem by making all of the parts of the Character’s Density set to 10 and multiplying the Force of my BodyMover by about 12 and instead of aiding the players movement, I had to use the force in the opposite direction (to counter the major increase in Power of the Character’s default movement).

To see the effect of the change you can use your hacks to take a look at this place in Studio:

Instructions on Test Place 1. Open it in Studio and Start Server with 1 player 2. Equip Tool and jump onto the Ice Part (White Part). 3. Move around with the Physics setting on Legacy 4. Press K to toggle the BodyMover I explained earlier. Without the bodymover the Player can't move on the Ice in Legacy Mode. 5. From the Client Window, Set the Physics Setting to "New" 6. Notice the change in movement of character and that the bodymover has no effect on the Player whether it's on or not.

SideNote: if you deselect the Tool it will break your arms, and will have to reset.

If you want to see the steps I took in the second paragraph in action, you can visit this place:


From Lobby you will have to use the Left Hand Menu and click on the buttons in this order:
Choose Server>Test Servers>Test Server 2>Play

Just thought I should state my findings, and what worked for me.

Hey Baumz, part of the change involves treating humanoid feet as plastic. Previously, when humanoids would walk on things, we treated as if the friction was the floor object interacting with the same material object, meaning the humanoid had no say on the interaction. Now we tree Humanoid feet as plastic, which makes slippery surfaces less slippery and sticky surfaces less sticky.

I have some details here:

However, the density tuning combined with BodyMover tuning is a bit surprising to me. Try making the FRICTION WEIGHT of your ice set to a high value like 10 - 100 to see if you get the desired result.

1 Like

Honestly there seems to be no difference from 5 to 100 on the Friction Weight.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.