Thanks Nina, that’s food for thought. Drag definitely works so I will stick with that for now but I have other issues with physics as well.
If I push against the outside walls long enough my player char slips out underneath the walls.
I have tried to make the falling blocks become immovable once they hit the ground plane using
ourRigidbody.constraints = RigidbodyConstraints.FreezePosition;
ourRigidbody.constraints = RigidbodyConstraints.FreezeRotation;
However that makes them super bouncy when I hit them. They fly up on the Y axis.
With just FreezePosition
they won’t go vertical BUT them will rotate for a time on the X axis
I tried something else I saw to try and turn the fallen object into a static object, but it didn’t work as expected either.
GameObject newThing = this.gameObject;
newThing.isStatic = true;
newThing.transform.parent = transform;
StaticBatchingUtility.Combine(gameObject);
Ah Bingo, setting my falling cubes to isKinematic = true
makes them immovable. So I have set a tag on the falling cubes, and then test for that tag in the OnCollisionEnter
if (gameObject.tag == "FallingCube")
{
GameObject thisObject = this.gameObject;
thisObject.GetComponent<Rigidbody>().isKinematic = true;
}
This way cubes fall and become a static object, and balls are left to roll as they please.
Only issue I have remaining is sometimes slipping under the walls (external, or internal), particularly near / at join/overlap points.