When it comes to creating full-fledged 3D games in HTML5, unless you want to spend an incredible amount of time building the base engine for it, you should think about trying a purpose built engine. BabylonJS is a perfect candidate for such a task. It comes with a massive amount of support for 3D features such as a physics, animation, and collision engine.
It also has a ton of built-in optimization to keep your game fast and even more Special FX that can really take your game up a notch. The best part is it works across all WebGL platforms. If you’re interested in BabylonJS take a look at it here.