Links

Import

To import your models and images, upload them through the Dashboard (here) using your computer or phone. Upon successful uploading, assets appear in ShapesXR immediately in the import tab of the Creation Tool.
Import Panel in the menu.
The process of importing a model from a sketchfab.

Uploading assets through Dashboard

  1. 1.
    Open the shapes.app page in your browser using your computer or phone.
  2. 2.
    Sign in with the account you use with your Meta Quest headset.
  3. 3.
    Drag & drop or use the browse option to locate your model and image files on shapes.app/import.
1.Open shapes.app page
2.Sign in with the account you use with your Meta Quest headset
3.Drag & drop or browse your model and image files on shapes.app/import

File management (Folders) (Paid plans)

File management helps to structure and organize a large number of files for faster work on your prototypes. Our paid plans include the ability to create folders and manage your assets in VR and in the shapes.app web panel.

Placing an asset in VR in your space

After you’ve successfully uploaded your assets through the Dashboard:
  1. 1.
    Open ShapesXR.
  2. 2.
    Go to any space.
  3. 3.
    Open the menu.
  4. 4.
    Select Creation Tool.
  5. 5.
    Choose the Import tab.
  1. 6.
    There are two methods you can use to place assets in your space:
  • 1. Hover over an asset in the list of the import tab and grab it with the Grip button (using this technique will insert the object into your space at a scale and rotation in relation to the user's size.)
The first method of placing an object into space.
  • 2. Hover over an asset in the list of the import tab and press the Trigger button to open the Preview window. Choose settings for your asset: scale, rotation and others. Your model will appear at the center point of the scene. In order to preview your model from an appropriate view point, press the magnifying glass icon. Hover over the asset in the Preview window, grab it with the Grip button, and drag it into the scene. Or press the Spawn button to spawn this model in the center of the space. (This is useful for importing environment models.) An asset imported into spaces in the above way will retain the custom settings you chose. Read about the functionality of the Preview window below.
The second method of placing an object into space.

Available Image formats

PNG format and JPG format

Transparency modes for images:

After you have placed the image in a space, a bar with transparency modes appears above the image. These modes assign their materials to images. You can select one of the two modes for your image:
A bar with transparency modes appears above the image.

Default mode:

This mode assigns material that supports semi-transparent textures using information from the alpha channel (PNG only). It is mainly used for translucent glasses, lighting, glow effects, shadows, clouds, fog images, interfaces with transparent gradients, etc.
To make an image semi-transparent:
  1. 1.
    Using the Color tool apply PBR or Unlit materials with the color white and with 0.98 Alpha (or less if needed) to your image with Default mode.
  1. 2.
    Apply Additive material with the color white and with any Alpha on your image with Default mode. (For glow and lighting effects).
Examples:

How to create lighting and shadow effects:

Watch this video tutorial about how to make lighting effects using PNG images.
How GPU sorts the geometry with such material:
The main disadvantage of this approach is that the GPU cannot accurately sort the geometry with such material. The sorting is not done pixel by pixel, but by the coordinates of the centers of the objects (Pivot). Whose pivot is closer to the camera, that object will be drawn first on top of the others - like layers in 2D graphical editors.

Cutout mode:

An alternative option is Cutout mode which assigns Cutout material. It has no sorting problems, but it does not support the texture semi-transparency effect. This material can either only display geometry, or not based on data from the texture.
Cutout mode does not support texture semi-transparency effect.
Applicable for when you want to add detail, but without changing the geometry and increasing the number of triangles. A classic option for games is leaves on trees, grass, sprites and icons. Handy for interfaces, like imitating UI with rounded corners, 2D icons, etc.
Differences between Cutout and Default transparent materials are:
  • Cutout material cannot have partially transparent areas. Everything will be either fully opaque or fully transparent.
  • The graphical sorting problems normally associated with Transparent shaders do not occur when using this shader.
This material uses an alpha channel contained in the Base Texture(Only for PNG) to determine the transparent areas. If the alpha contains a blend between transparent and opaque areas, you can manually determine the cutoff point for which areas will be shown. You change this cutoff by adjusting the Alpha slider in the Color tool.
For example, this can be used when creating a progress bar. By changing the alpha value for such an image with Cutout material, you can create different states of the progress bar.
Apply materials to images:
Experiment with different materials and apply them to your images to achieve different results.

UI Element

By default, images imported into spaces automatically adjust to the size of the user. This is typically okay for environmental elements. But it's not always useful when importing elements with precise measurements like menus and user interfaces.
From the Preview window, toggle on UI Element in order to set a fixed pixel density for your images. Read more about this feature below.
Recommended: Up to 1MB and 1024x1024px.
Hard: Up to 2048 px (images compress automatically).

Available 3D models formats

For import we support OBJ, glTF, GLB model formats. If your model is simple, one-part model, you should choose OBJ format. If your model is complex, or you are downloading a model from a sketchfab, then we recommend choosing glTF/GLB formats.

OBJ format

Uploading an OBJ file with textures:

For textures to be included with models, it’s important to upload your OBJ file along with the MTL (file with a description of material settings and links to textures) and all of the associated images in one upload.
Select OBJ, MTL, and image files and drag and drop to the dashboard.
To avoid problems with importing textures, before exporting a 3D model from your 3D editor, make sure that the used textures are in the same folder where you export the model. This should automatically create an MTL file with the correct texture description.
After that, it is worth checking the results before uploading. If you see issues with your import inside ShapesXR, recheck the results and try uploading again.
Check your MTL file before uploading:
If you upload an OBJ file with textures, you should check your MTL file: Open your MTL file using the Notepad app. The line that starts with “map_Kd” should contain only the name of the texture and not the path. If it has a path, remove it and save your MTL file before uploading.
Open your MTL file using the Notepad app.
This MTL file contain path to the texture. You should remove C:Downloads\earth\Earth.
After removing the path, save this MTL file. And after that, upload it with OBJ and textures through the Dashboard.
If your model has multiple materials and textures, check each map_Kd line in your MTL file.
Known issue with buggy geometry:
Issue:
Models with multiple materials and submeshes have a buggy geometry.
Solution:
You should split the model by materials (submesh) and upload the model in separate parts.

glTF and GLB format (Paid plans)

A simpler and more flexible alternative to importing OBJ files is to use the glTF and GLB formats. The format is actively supported on the Web. For example, you can download any downloadable model from SketchFab in this format.
Allows you to import more complex models with many materials and textures, without the complexity of importing OBJs.
We do not support skinned meshes, light sources, 3D cameras, animation for glTF/ GLB.

GLB format

Upload just GLB file.
Downloading GLB from sketchfab and uploading it through dashboard

glTF format

Upload glTF file with textures and .bin file as ZIP!
Downloading glTF as ZIP from sketchfab and uploading it through dashboard.
Archiving files in ZIP format and uploading it through dashboard.

Textures with transparency

Apply materials to textures of models:
You can also assign a material to model textures. If your model has textures with transparency, apply any material with 0.98 Alpha (or less if needed) to your model.
You can apply Unlit material with white color to get a bright texture image, that will not be affected by space lighting.
Recommended model specifications:
Up to 10 000 vertices.
1 material per OBJ model.
3 materials per glTF or GLB model.
Textures under 1024x1024px.
Hard:
100 000 vertices, and 32 submeshes/materials with textures under 2048px.
Model Optimization
To improve the performance of your VR space with imported models, we recommend optimizing your models.
If your model has multiple textures and materials, we recommend combining the textures and materials into one texture and one material.
This helps solve many potential issues. Models with fewer materials work better in mobile graphics.
It is critical to make one texture and material for OBJ format. But for glTF or GLB formats, we also recommend minimizing the number of materials and textures.
Be careful! Be careful, standalone VR is very sensitive to the number of objects, sub-objects and matrices - this can greatly affect performance.
Recommend 200-300 objects/materials per scene (Draw calls) for Quest 2. Note that ShapesXR interfaces, avatars and other elements can take 50-100 draw calls.
If it is possible to merge individual geometries into one model and merge textures, this will help you save performance in your scenes.

File size limits

20 MB for Free plan.
50 MB for Paid plans.

Preview window

Make sure you have the right asset selected before you add it to the scene by using the preview window. Click on an asset in the import panel to show the preview and additional import options.

3D model preview

  1. 1.
    In the upper left corner of the window there are dimensions of the model along each of the three axes
  2. 2.
    Rotation arrows are clickable and they allow you to change the rotation of the model
  3. 3.
    Scale bar:
Scale is set to auto by default. This means that the size of the model, when delivered to the space, adjusts to your scale. But you can set the precise scale of your model. 1.0x scale is useful to import assets at life-scale. When you start changing the scale, a visualization of the size of the model will appear in the center of your space (dimensions of the model along the axes changes as well). When you set any scale, these buttons become active:
  • (4)Magnifying glass icon: pressing this button will teleport you to the preview object
  • (5)Spawn model at center: when you press this button, the model with the selected scale and rotation will be placed in the center of the space
6. Close button
Once you set all the settings you can grab the object from the Preview window to your space. Or you can press the Spawn button.

Image preview

We have seen many users importing their UI assets from Figma and here is our first step in facilitating this workflow. The scale of imported images from Figma will be dependent on the pixel density and relative to the world size. This will allow designers to import all their building blocks at a consistent size.
You just need to choose how far away from the user you plan to place your interfaces. For this distance, the image size will be automatically calculated so that the texture pixel matches the screen pixel 1 to 1. This is optimal for getting the best possible image quality and clarity in VR.
To check the result, make sure that your size is 100% and that you are at the selected distance from your interfaces. If you are satisfied with the distance, but want to increase or decrease the size, we recommend re-exporting your textures at a larger or smaller size, to keep the correct Pixel Density.
We also recommend that you do not export all the interface elements at once, but first do a test with a couple of images at your ideal distance. Once you confirm that it looks good, export all the other elements from your graphics editor.

Import FAQ

Why did my OBJ model load without textures?
  • Make sure you load your OBL with MTL file and texture files in one upload.
  • Check your MTL file. Open your MTL file using the notepad app. The line that starts with “map_Kd” should contain only the name of the texture, and not the path to it. If it has a path, remove it and save your MTL file before uploading.
Why my OBJ model has bug geometry?
  • Your model has a lot of materials and sub meshes. You should split the model by materials (submesh) and upload the model in separate parts.
I want to upload a model with a transparent texture. How to make the texture on the model transparent?
  • After importing your model into space, assign it a material with alpha lower than 0.98 using the Color tool.
How do I optimize my models for VR?
  • If your model has multiple textures and materials, we recommend combining the textures and materials into one texture and one material. This helps solve many potential issues. Models with fewer materials work better in mobile graphics. It is critical to make one texture and material for OBJ format. But for glTF or GLB formats, we also recommend minimizing the number of materials and textures.
_________________________________
Join our Discord server to ask any questions regarding the import, bugs, and feature requests, and share your creativity with us. Or email us with any questions:
[email protected] — Get product or account support.
[email protected] — Contact a member of our sales team.
[email protected] — Any other questions.