I worked on a WebVR tool called Patches with some kick-ass ex-demosceners based in Helsinki. We used Three.js under the hood. Then we did something else using React VR / React 360. Then a 3D WebGL game using AFrame. Three.js ends up in the internals of all these because it abstracts WebGL pretty well.
It’s complex and time-consuming to produce WebVR. It’s good for weird, and weird is somewhat easier to make on it, especially with custom shaders and to work on a specific device. In fact VR is a good medium for digital art on its own, gives you a sense of having been somewhere (as opposed to having seen something). It’s a fun medium to work with if you’re not trying to get anywhere fast. The “Vaporwave” aesthetic isn’t compulsory, maybe it just lends itself readily to the medium. 3D sound is a bit hard to do, and doesn’t sound too nice until you can get to the actual audio graph under the hood and aggressively reconfigure panning and dynamics.
Learning pathway is steep, for WebVR you need:
- CGI basic scene knowledge (models, materials, mapping, lights, camera)
- Three.js or AFrame knowledge (how to construct the above)
- 3D math for transformations (Vec3, Euler, Quaternion, Matrix)
- Shader knowledge
- Blender or another CGI tool for modelling (or fixing third-party models)
- An image editor for textures
- ? for paths and animation
- web audio graph nodes for sound (no algo reverb, but you can construct your own:)