Skip to content

Models and Meshes

The following sections should be used as a guideline when creating models.

Individual model size

As far as possible, the individual model should be kept under 10 MB in size and under 50 000 triangles.

This size includes all meshes contained in the model as well as bundled textures, other materials and animation data.

Multiple of the same model

Multiple of the same models can be added into a space. Ideally, they would be spaced far enough apart that the users browser will not need to render everything at once.

More low poly objects or fewer high poly objects

Object detail can be achieved in more ways than by just adding extra complexity to a mesh.

Working in a low poly style and using shaders and textures to add detail will allow you to have more objects in the view at any given time without sacrificing performance. Below is an example of the difference that shaders can make.

As seen above, we have two versions of the monkey head model. On the left side is low poly mesh with the smooth shader applied and on the right side is a high poly mesh with smoothing achieved by adding extra face and vertex data

Collision

Collidable surfaces must be separated from meshes that do not require physics.

Not all objects in the world need to have collision applied to them. Use this feature sparingly and only where it makes sense (e.g. floors, walls, chairs etc.). Combining collidable surfaces into a single mesh lowers the number of draw calls and calculations required by the physics engine.

Collidable meshes should be as low poly as possible, because the more complex the model, the more calculations are required to determine collision. Having collision on a complex model can significantly reduce the performance of the space.

Non-visible geometry

Remove non-visible geometry from your mesh before importing it into the space.

Removing obscured faces in your mesh will reduce the amount of triangles in the model without having any visual compromise in the space. Be sure to close any holes in the mesh after unwanted faces are removed.

Back to top