Formats - 3D Models

What format your 3D model should be in, how to export them from your 3D editor, and common issues

David Arayan avatar
Written by David Arayan
Updated over a week ago

Overview

There are a wide range of 3D model formats in which you might have your content.

Because experiences built on Plattar are intended to be viewed on mobile devices, it is important that models are created to deliver a speedy, high-quality experience for your users.

This means models designed for offline rendering (like architectural, CAD or product models) may be too complex for your users’ devices. Such models can be simplified by a 3D artist so they download quickly and look their best on a wide range of devices. Models designed for games (particularly mobile games) should work perfectly.

Format

  • Models should be in .gltf (with a corresponding .bin) or .glb format for direct upload

  • Textures should match the folder path as described in the .gltf/.glb file. Ensure your exporter does not use absolute paths into your local drive.

  • Textures must be png or jpg format, and will run better on users phones if sized to a power-of-two scale (e.g. 128 x 128, 512 x 512 etc.

  • We support Physical Based Rendering (PBR) workflow

  • Objects need to be centred at origin (0, 0, 0)

Size

  • Models must be less than 32k polygons per mesh (but you can have many meshes). You can have up to 300k polygons before devices will start slowing down.

  • Models should be less than 10MB including textures. It is possible to use larger, but consider the download time.

  • Total scene size should be considered, as the user will be waiting for the content to download and may be on poor wifi or mobile connections.

Animation

  • Plattar supports key-framed animations

Performance Tips

  • Combine multiple textures into a single texture, this technique is called "texture atlassing"

  • Do not use multiple large textures exceeding 1024x1024 in size. For performance, it is better to load a single 2048x2048 texture than multiple 1024x1024 textures. Using the outlined atlassing technique, you can fit 4 1024x1024 textures into a single 2048x2048 texture atlas

  • Reduce the resolution of single-colour textures. For example, if you have a texture that is a flat colour of "red", reduce it to 4x4 in size. If possible, all flat colour textures should be combined into a single texture atlas

  • Combine multiple meshes into a single mesh where possible, taking into consideration the 32k polygons limit per mesh

  • Re-use common materials and textures wherever possible, this will allow the rendering engine to instance those components and improve performance

  • Use PNG textures for highly-detailed components, this will reduce the noticeable artefacts from JPG compression

Apple USDZ Conversion & Limitations

Plattar supports direct conversion from GLTF to Apple USDZ file format. The USDZ file format is used for performing web-based augmented reality on all modern apple devices.

There are however some limitations that need to be considered when performing the conversion.

Limitations

  • USDZ does not support multiple animations. Multiple animations in GLTF files must be combined into a single animation clip prior to conversion.

  • Multiple Skeleton Rigs are not supported. Merge them into a single skeleton rig prior to conversion.

  • Only linear animation interpolation mode is supported. The converter will convert alternative interpolation modes (such as cubic, slerp) into linear.

  • Multiple UV sets (for use with Ambient Occlusion etc) are currently not supported. The converter will disable multiple UV sets automatically.

Unsupported Functionality

  • Vertex Colours are unsupported. Use textures/materials instead.

  • Morph Targets and Vertex Animations

  • Skinned Animation for Vertex Normal

  • No Transparency Sorting. Overlapping transparent objects will look incorrect.

Best Practice

Requirements for Plattar are very similar to requirements for any mobile 3D game/experience: minimize polygon usage and texture size, and keep draw-calls to a minimum by atlasing textures, combining meshes, grouping objects and not using too many materials.

Also bear in mind that content will be transferred over an internet connection that may be slow, so total content size is a factor to consider.

Did this answer your question?