Aframe question:
Instead of using a heavy physics library (like CANNON.js or ammo.js, which can be super buggy and bloated), I ended up writing a custom collision component attached directly to the player's camera rig. It queries nearby invisible boundary boxes (represented as basic A-Frame boxes with a specific class) and uses basic Axis-Aligned Bounding Box (AABB) intersection math to resolve overlaps by pushing...
the player back along the axis of least penetration. For fast movement, it switches to a Swept AABB raycast to prevent the camera from clipping/phasing through walls. For complex 3D GLTF models, I have an auto-collision component that waits for the model to load..
the player back along the axis of least penetration. For fast movement, it switches to a Swept AABB raycast to prevent the camera from clipping/phasing through walls. For complex 3D GLTF models, I have an auto-collision component that waits for the model to load..
It's far from perfect, and I won't go into the details of how much trial and error there was here.