Mass not working properly

nnoom

New member
I'm sharing this conversation from email support to help anyone else that may experience the same issue.

--- Me:


I recently switched from the Easy Character Movement, to your Third Person Controller asset, and mass seems to have stopped working as expected.

My character with a mass of 100 in the Opsive settings is able to throw around an excavator with a mass of 33,000.

I found this forum post that seemed to help, at first:
https://www.opsive.com/forum/index.php?threads/rigidbody-mass-question.181/

I'm using the NWH Vehicle Physics asset, which uses a layer for the wheels to ignore, and if I set that in the Opsive Layer Manager as a Solid Object, it seems to stop pushing it, but if my character runs, he's able to push it, again.

Any idea what my issue might be??

--- Dev:

I just tried to reproduce this but wasn't able to - can you send me a repro scene?

I tested by adding a cube to the demo scene and creating a new layer (16) called Test. I then assigned the cube that layer and updated the Solid Objects Layer. When I walked into the cube the character was able to push the object.

--- Me:

Some more details: It turns out that the Default layer seems to work perfectly. This issue seems to happen when I use any other layer. Problem is, I have to use another layer on my vehicles in order for NWH Vehicle Physics to work. It uses this layer to tell the wheels to "ignore these colliders," in order for the wheels to not collide with the vehicle body.

To recreate the issue, I was able to make a simple cube, give it a rigidBody, and give it the Default layer. My player (setup with default TPC settings) pushes the cube relative to his mass, as expected. But when I assign any other layer to the cube, and then add that layer as a "Solid Object Layer" under the Layer Manager, the player is unable to push it while walking, but can push it while running. I'm not sure what the difference is between the Default layer, and any other, but that's what it does for me.

Note that this only happens when the layer is on one of the objects that has a collider. I can add an empty child with a different layer, and it works fine, so long as all the objects with a collider use the Default layer.

Does that help? I can send project files or something, if needed. I was able to recreate it using a new project, so I know it's not my physics settings, etc., but let me know if you aren't able to recreate.

--- Dev:

I was able to figure out the cause of the problem though and it's not directly caused by the controller. You have ragdoll colliders on your character and when your character is running into the ambo the SubCharacter collider is causing a collision with the WheelColliderIgnore layer. When the ambo has a Default layer the collision matrix has those integrations disabled so that's why the ambo doesn't move. If I deselect the SubCharacter/WheelColliderIgnore interaction then the character will no longer cause the amobo to move.

--- Me:

Thanks!! I unchecked SubCharacter / WheelControllerIgnore in the Layer Collision Matrix, and that does indeed seem to fix the mass issue.

Just to clarify, you said:
"Default layer the collision matrix has those integrations disabled"

Even though I only have one item deselected in the Layer Collisions Matrix, those integrations are still disabled? I'm just a little confused. Is that something that happens behind the scenes?

--- Dev:

Yes, those other layers are disabled automatically by the LayerManager when you start the game.
 
Top