Create and edit scenes

Importing and Exporting Assets

When you import new data into a project, this data is 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.

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.

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 on 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 (the content is playable but not editable or selectable).

  3. Step 2: select the file in the Import Panel and click on the import 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. For more information about the Skydome, see Lighting: Skydome

Importing textures

Rather than setting textures in a Material definition file, it is possible to directly drag-and-drop textures on either the material parameters or for the diffuse texture, to drop an image file on a selected object .

  1. Select the object from the scene you wish to edit the material of.
  2. You can either drag and drop a RGB(A) image onto the selected objet directly. This texture will be used as either the Diffuse Color or BaseColor map (depending on the material model used). 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.
  1. Create a material definition file. See Shading for details.
  2. With the scene opened, select the object you wish to assign the material to.
  3. Drag-and-drop the material file onto the selected object
  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

When an OBJ is exported from another 3D party software, the export process doesn’t generally take into account the transform that may be applied to the object and/or the unit of the scene which it originates from.

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).

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

FBX

When an object is exported to FBX, you can selec

FBX can be used to save in a single file pretty much every type of data a 3D scene can contain: geometry, materials and textures, animations, lights, cameras, etc. It can be used to bring fully shaded assets in PocketStudio as well as rigged characters with their associated animation takes, blend shapes, animation caches (called GEO caches), cameras, lights, and so on.

The file can be stored in ascii or binary format. PocketStudio supports both.

  • 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 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 the cameras contained in a scene to a FBX file 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 data that you may be able to import in a project, however keep these few points in mind:

  • The bigger the data, the longer it will take to upload the file on 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 these scenes don’t fit into the memory of your GPU.

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.