Gravity with collision-checking still results in falling "through" a sphere

Demo:

Instructions:
Click on the sphere, which will teleport you into its center

Since the sphere has collision-checking turned on, I would expect to fall to the bottom of the sphere, and stay there (or, rather, the bottom of the sphere plus the camera ellipsoid height).

Instead, I’m falling through the sphere (slowly) and back to the ground.

Any hints on what I’m missing to make objects like these solid on the inside?

Even weirder: in my Oculus Go, in immersive mode, there is no gravity within the sphere. I suspect that’s something I’m not doing after I call createDefaultXRExperienceAsync – maybe not all active camera settings are applied to the VR camera that it creates?

Making a larger sphere seems to solve the problem, so I think it may have something to do with the camera ellipsoid.

You could try creating a second sphere just inside the first one with flipped normal, ie normal facing inwards, as I think the collision is dependent on normal direction.

Wow! I would not have guessed that intuitively.

I was able to fix this now and set applyGravity to the new camera when immersive mode is activated, so everything is working again!

I finally had a chance to track down how to do this, following up for anyone else (or myself later lol) has a similar problem and finds this thread:

mesh.flipFaces(true)