Threejs Cannon Virtual Experience Engine

Thanks for the feedback. I want to clarify a few points so we don’t talk past each other.

Regarding proportions, in my current implementation the interior parallax remains visually correct even when the room is stretched. I’m not claiming the original approach is mathematically ideal for non-cube rooms. Only that in practice it holds up well for the use cases I’m targeting.

For reference, here is the interior parallax component I’m using:
https://github.com/kylebakerio/aframe-interior-parallax-mapping

This is an A-Frame interior parallax mapping implementation, and the behavior I’m seeing is consistent with its intended usage.

On the texture inversion, I’ve already investigated the library side and verified that the issue is not coming from the source itself. The GitHub link was provided purely for reference.

Visit location: https://theneoverse.web.app#serini&&serini&&loc=platform1_edge001,-1247.7,6.3,-3200.1,-171.7

Visit location: https://theneoverse.web.app#serini&&serini&&loc=platform1_edge002,-1242.5,6.3,-3248.6,-127.7

Visit location: https://theneoverse.web.app#serini&&serini&&loc=platform1_edge002,-1244.5,6.3,-3243.6,124.5

As for the repositories, the minimal GitHub repos are intentional. This one, for example, serves as a portfolio entry and gateway to the commercial assets rather than a full open-source codebase:
https://github.com/VeinSyct/theneoverse

If someone wants to inspect the source code, it is already accessible through the browser. The demo can be examined via page source or downloaded using Chrome DevTools. There is no single public repository because each project is different and tailored to its own requirements.

There is no intent to mislead or market aggressively in the thread. The Showcase post was meant to demonstrate the visual result, not to request a code review. That is why the demo is minimized.

I appreciate you taking the time to respond, and I’m happy to keep the discussion focused on the technical behavior of the interior parallax itself.

Video above shows game play

One of the issues with playing large scale environment is the download time it takes to load your game, this issue my not be a thing for a stable internet places, but in most places around the world where internet is not just luxury but also a struggle making it a barrier to even access browser apps such as the Three.js game engines, so I redevelop the Three.js Virtual Experience Engine to operate on places with unstable internet or no internet at all by making if offline and the assets that the player or users don’t have to be downloaded anymore but instead loaded locally.

Three.js Virtual Experience Engine URL: https://theneoverse.web.app/#threeviewer&&construct

or Just play: http://theneoverse.web.app/#threeviewer&&burn-city

with this feature it widens its accessibility to be used by most 3d designers, architects and engineers that are aspiring showcase or explore their projects on browser.

Video above shows the Maps Components.

Here under are sample models that they can use to understand the component of a simple game map, all they need is Blender to modify their 3d game maps or level into a playable virtual place, first is that they need to create a collider mesh named “phy-body-dynamic-trimesh-0kg-collider” directly from the project mesh, the collider mesh don’t have to have materials so they can remove the materials from the collider mesh, and then they will need to add a plane axis in blender named “avatar-here” for the player to spawn on to the map.

Sample maps I modified to work in three.js virtual experience engine from SketchFab:

burnin rubber crash burn city.glb (4.7 MB)

laguna seca track.glb (8.5 MB)

ice fields.glb (663.7 KB)

head long.glb (816.2 KB)

small town.glb (1.7 MB)

Vehicles:

normadic.glb (1.5 MB)

furnariscafatigtvehicle.glb (921.2 KB)

Avatars:

avatar basic male.glb (350.0 KB)

avatar red rider female.glb (394.7 KB)

avatar biker leather top jeans male.glb (289.6 KB)

blue shirt.glb (120.7 KB)

GitHub Repo: https://github.com/VeinSyct/ThreeJsCannon