πŸ’…Preparing your 3D model

Before you use our model processing API, it's important to make sure that your 3D model has a valid format and is under some constraints to guarantee a successful processing.

Please check the model processing constraints listed here, paying special attention to the following points:

  • The model must be rotated in a very specific way for the system to work. For instance, when opening your model in Blender, the character should be facing -Y axis, with its up vector being +Z; in Maya, the character should be facing the +Z axis, with its up vector being +Y:

  • The model type needs to be chosen with specific criteria. Our AI pipeline tries its best to choose the right type, but it really helps if you use really common/general names for your models, for example:

    • Person: "man", β€œwoman”, "child" or "human"

    • Animal: β€œcat” instead of β€œbobcat”, or "ant" instead of "fire ant", or "dog" instead of "golden retriever"

    • Fictional two-legged character: "character" if it has humanoid looks, "cartoon character" if cartoony

    • Fictional four-legged character: the species of a similar animal, such as "horse" instead of "unicorn". If you can't find a similar animal, use "quadruped"

    • Object or plant: "box" instead of "storage box", or simply "tree" instead of "palm tree"

  • The model must be in one of the already available categories. Please check the supported ones in this page (on the bottom). Make sure to match all the other constraints listed in that page.

  • The symmetricity of the model needs to be specified accurately, with minimal asymmetries being tolerated as symmetric. It's important to note that massive asymmetries have poorer support.

  • Files should have max 30 MB and 100 MB total limit per upload. We only process one mesh at a time, but feel free to upload supplemental files.

  • Your mesh file should be one of those formats: .obj, .fbx, .dae, .gltf or .glb. You can also send all the files compressed in a single .zip file (for that, make sure to place all files flat: with no subfolders, inside your .zip file).

  • If your model has textures, please upload texture files (.png, .jpg, .jpeg or .tga), not just the mesh. Double-check that the texture shows up as expected when imported to 3D software like Blender, otherwise you may need to fix the mesh-texture binding. If you use .obj for the mesh, also add the .mtl file.

  • The model must have fewer than 100k vertices. If the vertex count exceeds 20k vertices, it will be decimated for now (this limit will increase in the future).

What to expect as output

Three types of processing can occur depending on the nature of your 3D model:

  • Model is a deformable category model (e.g. a living creature): it can be rigged and animated. You should expect the different animations being available as .fbx, .glb, .gltf and .dae formats;

  • Model is a vehicle: you'll get their parts split in separate sub-meshes so that you can arrange and move them as you decide in a 3D software. The separated parts will be available as .fbx, .glb, .gltf and .dae formats;

  • Model is static: the model remains static, but you can get additional formats other than the one you uploaded, like .fbx, .glb, .gltf and .dae.

Note that we provide .gltf files with its texture split in independent .bin file and also embedded in the .gltf file itself.

By default, our API will generate all formats (.fbx, .glb, .gltf and .dae). However, you can speed up the process by only requiring it to generate the .glb and .fbx formats. Please check here how to do use the stage parameter to speed up your requests, if your use case permits.

For additional visual examples on what is supported and what not, we also have a great guide for how to get the best possible results for your model!

Last updated