Links

Scene Optimizations

Remove elements that never get seen/used by the user

Let's say there's a 360 Image with a radius of 700 and behind that there's another 360 Image with a radius of 900. The 360 Image with radius 900 will never get seen, as the first 360 Image blocks its view.
In cases like above, remove the elements that never get seen or used by the user.
  • When a GMetri experience runs, everything gets downloaded scene by scene. Assets for a scene are downloaded only when you enter that scene. If you never enter a particular scene, then assets in that scene are never downloaded.
  • When you go from one scene to another, during the scene transition all non-hidden elements get loaded.
For images, audios and 3d models, loaded refers to download of complete file. For videos "loaded" means download of the initial chunk (first few kilobytes). The rest of video gets downloaded while its playing.

Considerations for VR Mode

2D elements won't work in VR mode

If you are building primarily for a headset, then avoid using 2D HTML elements like Actionbar, Quiz etc.

Interactions using controllers

Click blocking doesn't work when using VR controllers. For example, if you have 2 images placed right on top of each other (stacked), the click action will be triggered on both images. This is not a restriction from GMetri but a restriction with the WebXR API and VR controller APIs.
A quick workaround would be to hide the elements on the screen that are behind other elements(completely occluded). This will also help improve performance on VR headsets.

Depth comes into play with VR mode

The placement of graphics is very important here. Things look very different in 2D and 3D.