Model Creation

There are a few requirements / recommendations for models on Core3D to enable access to all features. Please read through the guide below when creating models.

Contents

GLTF / GLB (Export Formats)

You can use just about any model authoring software to create your model: Blender, CLO3D, Browzwear, etc. but please export your model in a binary GLTF format (.glb).

Max Upload Size

The maximum upload size Core3D supports is 25 MB. If you need higher limits please reach out.

Post-Processing

Uploaded GLBs are processed to:

  • remove materials, skins, textures, and deduplicate the remaining resources
  • center the scene
  • apply DRACO compression

If you want to discuss custom requirements for your account please reach out.

World Units

In Core3D, one world unit is equal to one meter. For models to appear correctly in various rendering contexts, you'll want to make sure the world units in your model make sense in the real world. For example, if you're creating a t-shirt, its bounding box should have a width less than one (in world units) -- if the bounding box is 10 world units wide an adjustment likely needs to be made in the modeling or export process. You can use a tool like GLTF Report to verify the bounding box of your GLTF scene before uploading to Core3D.

Ratio

Expanding on the world units section above, Model resources in the API have a ratio property which describes the width of UV space in meters. The default value is 1, meaning UV space is one meter wide. This property is important when producing physical production Exports or supplying real-world units to the SDK so you'll want to set it as accurately as possible when setting up a new model in the API, but depending on your use case you might be able to get away with a little inaccuracy.

How do you determine the ratio? You can use the UV bounding box and real-world unit bounding box of a pattern piece to find the correct value. For example, a t-shirt with a "body front" pattern piece has a UV bounding box width of 0.35, while the width of the bounding box of that pattern piece in the real-world is 50cm, or 0.5m. We'd compute the ratio like this:

<uv width>x = <real-world width>
      0.35x = 0.5
          x = 0.5 / 0.35
          x = 1.428571428571429

Our ratio for this model is 1.428571428571429.

UVs

UV Range

You'll want to ensure your UVs are within the 0 - 1 range. UVs outside of this range will not be rendered properly.

UV Stacking

We don't recommend stacking UVs. Models with stacked UVs will still work, but won't be able to take advantage of per-component Zones (printable areas). Instead, keep all UV islands spread out across the 0 - 1 UV space.

UV Scale

For real-world use cases we recommend keeping your UVs scaled relative to one another. For example, UVs for a left sleeve mesh of a t-shirt should not be larger in UV space than the main body pattern pieces.

Meshes

Separate Meshes

Assignable Resources (patterns, materials, etc.) are generally applied at the mesh-level (except for graphics, which can be applied to Zones, as well). This means you'll want distinct meshes for each part of the model onto which you want to apply distinct resources. With a single mesh, any resource applied will appear on the entire model. With separate right and left sleeve meshes (for example), resources can be applied and scaled, transformed, and rotated independent of one another.

Mesh Naming

We derive the name of the component from the mesh itself. In an editing context where a human is choosing where to place artwork you probably want to give the meshes meaningful names. Rather than "Mesh" for each one, name them "Body Front" or "Left Sleeve", etc.

Get in touch

We'd love to learn more about your vision and how we can help.

PressPrivacyTermsSupportCopyright © 2024 Core3D, Inc. All Rights Reserved.