Create and edit scenes

Importing and Exporting Assets

When you import new data into a project, this data is saved locally on your computer as well as sent across the Internet in order to be stored on the cloud. It is through this mechanism that the project’s data can be shared across multiple users and/or devices. See how does PocketStudio work.

You need to be mindful about the size of the imported assets, as the amount of storage used to store the project’s data on the cloud can eventually be limited. See understanding quotas.

You can add pre-defined 3D geometric shapes (plane, cube, sphere, pyramid, cone) to your 3D scenes using the Toolbar, which provides easily-selectable primitives icons. When you click on either one of these icons, the corresponding primitive will appear at the scene’s origin.

The default size of the plane is 30x30 units (or 30x30 meters).

ps docs ui scene editor tools

The current version of PocketStudio supports the following 3D scene exchange formats:

  • OBJ
  • FBX
  • glTF
  • Alembic

Support for additional formats is planned.

PocketStudio has a unique two-steps import mechanism in place, that loads the files in the computer’s memory and asks you for a confirmation before actually moving the data from your computer to the cloud.

To import assets using one of the above formats, do as follows:

  1. Open the scene in which the content of the file will be imported.

  2. Step 1: drag-and-drop the asset file onto the scene’s Viewport.

    As soon as you drop the file in the viewport the Import Panel will open (to the left of the viewport in the default layout); the progress bar in the Import Panel will help you visualize the progression of the import process, and a yellow pulsing ball in the Viewport will help you locate where in the scene the new asset will appear.

    The content of OBJ files will be positioned where the file was dropped in the scene whereas for all other formats, the content will always be positioned at the scene’s origin.

    Once the entire file has been read and loaded in memory, its content will be displayed in the Viewport colored in blue. At this point, the content is playable but not editable or selectable.

  3. Step 2: select the file in the Import Panel and click on the OK button (or on the cancel button if you want to discard the data) to complete the import process. The data will then be uploaded to the cloud as well as copied to your local data directory.

You can drag-and-drop several files in the viewport at once.

A few options are available when you import a file:

  • Scale: apply a global scale to all positional data. This is useful to scale geometry up or down.
  • Up Vector: if your models were exported from a 3D software using the z-axis as the up vector such as 3DSMax, you may need to check this option.

ps docs import panel

Importing an HDR image for a skydome

  1. Open the scene.
  2. Drag-and-drop an HDR image in either the HDR or EXR format onto the sky (the sky needs to be visible in the Viewport).
  3. The Import panel will open up; a progress bar will be updated as the file is loaded.
  4. Once the file is fully loaded, select the file from the Import panel and click on the import button.

To use the HDR image in the skydome instead of the the physical sky, check the User Generated Sky property in the Property Editor.

Lighting: Skydome.

Importing textures

  1. Select the object from the scene you wish to edit the material of.
  2. You can either drag and drop an image onto the selected objet directly. This texture will be used as either the Base Color map. Otherwise you can drop the texture file onto any of the material’s mappable property displayed in the Property Editor.
  3. The Import Panel opens up; a progress bar is updated as the file is loaded.
  4. Once the file is fully loaded, select the file from the Import Panel and click on the import button.
Import Materials.
  1. Create a material definition file. See Materials in the Rendering, lights and materials section below for details.
  2. With the scene opened, select the object you wish to assign the material to.
  3. Drag-and-drop the material file on the viewport.
  4. The material file and all its associated textures (if any are set in the file) will be loaded in memory. A progress bar indicates how much of the files is loaded.
  5. Once loaded, click on the material file name in the Import panel, and click on the Import button. To cancel the action, select the file and click the cancel button instead.

If some textures in a material definition file cannot be found, the application will simply skip them without a warning for now. A mechanism will be available soon to let you know about missing textures.

All meshes imported in PocketStudio are triangulated.

OBJ

OBJ is an old file format that was originally designed to exchange 3D models. It is still used by some assets stores. It only allows the description of static geometries (to which can be associated face or vertex normals and texture coordinates).

The transform applied to objects and the units in which they were created are not preserved in the OBJ format.

When you import an OBJ file, the content of the file is placed where you drop the file in the scene (and not at the scene’s origin as for other formats).

  • Meshes: supported.
  • Normals: supported.
  • Texture coordinates: supported.
  • Materials: ignored.

FBX

When you import an FBX file, the content of the file is placed at the scene origin by default.

  • Ascii and binary both supported
  • Meshes: supported.
  • Scene hierarchy/dependency graphs: supported.
  • Materials and textures: supported. If multiple materials (per-face material assignment) are applied to the same mesh (per-face material assignment), PocketStudio splits the mesh for each material and apply a different material to each piece.
  • Skins (skeleton joints and skinning weights): supported.
  • Animation takes: currently PocketStudio only load one take (the longest one) if several takes exist.
  • Animation caches: GEO caches exported from Maya are supported. Though the caches cannot exceed the size of 2GB at the moment.
  • Blend shapes: supported.
  • Cameras: supported.
  • Lights: distant and point lights supported.

glTF

glTF is very similar to FBX but wheras FBX is a format privately owned (Autodesk) glTF is a royalty free format designed and specified by the Khronos Group, a non-profit member-funded industry consortium. The goal of the format is to be able to describe the entire content of a 3D scene including meshes, materials, lights, cameras, characters’ skins, etc.

  • Meshes: supported.
  • Scene hierarchy/dependency graphs: supported.
  • Materials and textures: supported. If multiple materials (per-face material assignment) are applied to the same mesh (per-face material assigment), PocketStudio splits the mesh for each material and apply a different material to each piece.
  • Skins (skeleton joints and skinnging weights): not supported.
  • Cameras: not supported.
  • Lights: not supported.

Alembic

Alembic is a cache-based animation format. Rather than storing into the file the data that is necessary to deform the mesh (such as the skins and the animationc curves), Alembic stores the position of the meshses’ vertices at every frame (or less) of the animation instead. It simplifies the process of interchanging animations resulting from complex rigs or simulations (hair, skin, cloth, etc.) between different 3D packages.

  • Meshes: supported.
  • Subdivion surfaces: they are rendered as meshes for now (using the poly cage of the subdivision surface).
  • Points and curves: ignored for now.
  • Cameras: supported.
  • Materials: non supported.
  • Lights: not supported.

To export cameras see Cameras: exporting cameras.

Other types of data such as geometries, etc. cannot be exported yet.

Can the imported content be filtered? 

The ability to filter the data by type (geometry, textures, animation, cameras, lights, etc.) or to select specific items is not yet available.

Is there an API to import assets using a script for example? 

Not yet.

Is there a limit to the size of data imported in a project?

There is no restriction on the size of the imported file, however:

  • The bigger the data, the longer it will take to upload the file to the cloud.
  • Data uploaded to the cloud will also be dowloaded by all the users you shared a project with. A 2GB asset file on a project shared by 5 people, will require 2GB in upload and 8GB (4x2) in download.
  • PocketStudio is currently not capable of opening scenes if the data making up a scene cannot fit into the GPU’s memory.

See how does PocketStudio work and understanding quotas for more information.

What happens if a file is imported several times in a project?

Each time you import a new file in PocketStudio, the content of that file will be stored on your local drive as well as on the cloud. When you load a file, the application will first check whether this file has already been previously loaded (either in that scene or in another scene for example). If it is the case, it will skip it, otherwise it will load it. Importing the same file over and over (in either the same scene or different scenes) will therefore cost you nothing in terms of disk space and inbound traffic to the server.

A change in a file can be as small as one single pixel in an image file. That kind of change will cause the file to be imported again and stored alongside the older versions of that file.

See how does PocketStudio work for more information.