Skip to the article
3dCMS Knowledge Base
Contact Open the editor
Importing & Assets

Importing 3D models

Bring in GLB, glTF, and OBJ models, with Draco and meshopt compression supported out of the box.

Open in the interactive manual →

The interactive version has full-text search, a table of contents, and light/dark themes.


3dCMS imports standard 3D model formats so you can drop in furniture, characters, props, scanned objects: anything you've made or downloaded.

How to import

  • File ▸ Import a GLB model: it's uploaded to your Asset Library and referenced by URL, which keeps your scene file small and lets repeated copies render efficiently.
  • Or click any model in the Asset Library to place it.
  • Got a revised file? Select the placed model and use Replace model… in the Inspector (under Tint). It uploads the new GLB and swaps it in where the old one stood, keeping position, rotation, scale, tint and links. Replace all N copies… swaps every copy of that model at once, as one Undo. If the new file is more than ten times bigger or smaller, you get a warning to check its export units.

However it arrives, the library measures what's inside it (triangles and the real size of its textures, which is what scene weight charges) and builds a shrunk copy for phones.

Supported formats

FormatNotes
GLBThe recommended format, and the only glTF form the library takes (a text .gltf is refused, see below). Draco and meshopt compression both work: the decoders are bundled, so compressed models load without any extra setup.
OBJSupported (with its MTL materials). Unlike a GLB, an OBJ import has no library leg (the mesh and its MTL textures are written into the scene file itself), so the files you pick are measured together against the same 36 MB ceiling, and an over-size set is refused before anything is parsed rather than stalling the tab. A single .obj over 128 MB is refused before a byte of it is read: decimate it, or export a GLB, which loads far smaller.
Rigged and animated modelsA model's own animation plays: the first clip in the file loops on the published page, and every copy gets its own bones and its own playback. In the editor it holds still until you press Play, and a visitor who asks for reduced motion sees it still too. A file with several clips plays the first one unless you pick another: select the model and choose it under Clip in the Inspector, or choose Hold still to keep it in its first pose. Copies start at different points in the clip, so a crowd does not move in step, and Replace model keeps your clip when the new file has one of the same name. An animated model draws on its own rather than in an instanced batch, so a crowd of them costs more than a crowd of static props.
What gets refused, and why These kinds of file are turned away at upload with directions, rather than accepted and then failing to render later:
  • Text .gltf: a .gltf keeps its geometry and textures in sibling files that don't come with it, so what arrives is a manifest pointing at nothing. Re-export as a single binary .glb and everything rides inside.
  • KTX2 / Basis textures: the viewer can't decode them, so the model would upload cleanly and then render untextured everywhere. Re-export with standard PNG, JPEG or WebP textures (WebP keeps most of the size saving).
  • A .zip, such as Sketchfab's default glTF download: pick the glb format on Sketchfab's download menu instead, or open the unzipped scene.gltf in Blender and use File ▸ Export ▸ glTF 2.0 (.glb).
  • FBX, .blend, .usdz and other files nothing in a scene can use: export a binary .glb from your 3D tool.
  • Models pointing at absolute URLs for their buffers or images: those would make every one of your visitors fetch a file from a third-party server. Bring the textures inside the GLB.
An over-size model is also checked before the upload starts, so you get told in a second rather than after a long wait. And imported meshes can't be poly-edited: you can move, scale, recolor (via Tint), and decimate them, but not edit their vertices.
No model? Generate one. If you don't have a model handy, the AI Assistant can generate a textured 3D model from a text prompt and place it for you.
Spotted something off, or want a topic covered? Tell us, a person reads every message.