Threeverse Project


The Threejsverse project is an attempt to create a interconnected universal worlds using ThreeJsCannon library.

This threejs project is written and designed to load stylized and baked lights/shadows 3d assets so the environment looks and feel realistic.

The postprocessing is set to match a vray like rendering and soft shadow that follows around non static assets such as the local and online player’s avatars and vehicles, static assets such as buildings do not receive lights or cast shadows because the environment assets should already have baked light/shadows.

Original purpose: this project was originally designed for loading urban design from 3ds max vray (this is the reason why the postprocessing was set to a copied 3ds max vray real-time NVidia fast rendering settings).

Popular application: can be used for 3d browser games development, engineering simulation, artificial intelligence simulation and other simulated physics projects.

New purpose: to develop a threeverse project that is universally interconnected occupying a physical space (the idea is to keep the players within the threeverse without having to leave the simulation to prevent experience interruption).

Why make the Threeverse?
Threejs is the best 3d rendering library that exists, to create a virtual world that feels more like our world where ecommerce can take place, any players can create and account and posses properties and sell digital or real assets which can be delivered to the buyers (the idea is a universal virtual market using threejs or threeverse).

Source code




It’s amazing great work!

1 Like

Tried running this from the URL in your post.

Experience so far:

  1. Sign in as “nobody”
  2. Type the name “asd”.
  3. Receive an error “Name is too short”.
  4. Click OK. I’m not redirected back to the name input (broken?)
  5. Click on an avatar to load (I don’t have an avatar URL)



Once finally in the level (after clicking on some other avatars to load), mouse look just doesn’t work. The camera immediately shoots up in the air as soon as you hold down one of the mouse buttons to look around. At this point I tried walking around, but the experience isn’t great, so I closed the website.


Maybe I’m missing something. How do you test your own code? (Not meant as an insult. I’m genuinely wondering, since it’s very obviously broken immediately from the start - at least on Desktop) Is this meant to be played on touch screens or mobile devices only?


This version is still on development, I am rewriting the codes, try threeverse the skyroom this on I am working on right now.

Download Source


Sorry man. Immediately after logging in, it still breaks.

When testing your own software, always assume your users are evil people trying to break your code by filling in things you don’t want them to.

The loading screen / bar repeated itself like 6 times before just stopping.

I’ve briefly skimmed through your code. The only thing I can recommend is to stop using jQuery (seriously, there is no valid reason to use it these days, unless you’re using other libraries that depend on it) and try to use some form of abstractions in your code. Try to apply SOLID principles where you can to make your code more readable and maintainable. Trying to learn Typescript (I’ve seen you posting against Typescript in other topics in the past) would benefit you greatly for projects of this size, because - if done right - the compiler will tell you about possible bugs beforehand.

I would suggest trying to learn a framework like Svelte, Vue or React and stop building/maintaining the user interface like you’re doing now. It’s really messy and prone to lots of bugs.

(P.s. I’m criticizing because you’re selling this source code :man_shrugging:)

(P.p.s: After getting in your game, the mouse-look behavior is exactly the same as I mentioned before. It doesn’t work at all)

I was trying to make a video of your new code as well, but now it seems to be “loading” infinitely without doing anything…


Yes I am having that problem, I think I edited to ruin (I am rusty its been years since I work on this), I am restoring the original. I copied this 3 years ago from Sketchbook, if you wish to learn how its made.

Its an attempt to rewrite it because the original code was realy messy, it was originally made for android or mobile, so now i am rewriting it for desktop use.

Working on this project every weekend

In preparation for a new urban design project


Pushing the #Threeverse game engine performance to its limit to learn its breaking point. So far it hasn’t yet break, excited for the next threejs release.

The release 152 minified three.module.min.js made possible playable massive gltf assets loaded with cannon physics in a scene.

Source code


Threejs r153 is much sharper and light bloom of materials are better

I don’t if anyone noticed, the threejs r154 is more realistic than the r153, if you stare at the chairs legs you will find that its looks more real.

Try source code

Try source code

Editing functions has been added to move around objects by clicking movable assets.

Download from Sketchfab

1 Like

the car falls off the road, not realistic, Unity does a good job on car games.

Only the road has collision, other parts has no collisions, so if you get off the road you fall off.

Load and edit GLTF assets in Threeverse

Click GLTF button top right side

Click 3d assets to move and rotate around

#Threeverse projects is being used for events and interior design show casing for contractors to win projects by getting clients to explore the projects in virtual experience using threejs library.



To load your custom models or avatar goto the GLTF button, to load avatar you must have an avatar rigged with mixamo or from Ready Player Me

GLTF Button

Load Icon

Select assets

Select asset

Click Load Button

Load assets to see how it would look like and behave.

Fog adjustment to have a sense of depth underwater



Whoa that is so nice, excellent project luv it, can you share the 3d assets I would like to try it into the Threeverse.

Threeverse Project Virtual Geometry will soon be released to handle large cities, Threeverse utilizes web worker and asynchronous threejs renderings allowing threejs to run inside a web worker and transfers only the SharedArrayBuffered canvas data this allow an even faster smoother renderings and seamless physics eliminating lags on a large quantity assets and avatars animating at the same time on a web browser by combining all meshes as one BufferGeometry mesh including the avatars, vehicles and other objects in the scene, saving down memory usage.

1 Like

Added point and click navigation, click anywhere on floor and click or click to another position to change destination then click the marker to walk to destination.

Threeverse project update

What kind of device do you use to develop and test your project? I cannot control my character, I cannot look around. For a “verse” project, I really think you should fix the “feel” of your engine before focusing on the “look”.