# Guidelines for 3D Model Creation and Uploading

**Model Format:**

* Supported formats: GLB, GLTF, FBX, OBJ
* Strongly recommend uploading in GLB format.
* Supported upload format: ZIP
* Strongly recommend that the GLB, GLTF, FBX, OBJ files be within 10MB, with 5MB being ideal.

**Model Export and Conversion:**

* It is recommended to export FBX from modeling software (such as 3ds Max, Maya, Blender, Cinema 4D) and then convert it to GLB.
* Alternatively, you can export GLB directly from the modeling software.
* Unity can also be used to export GLB directly.

**Model Creation:**

* Number of meshes per model ≤ 10; total for the entire scene ≤ 50. It is recommended to have ≤ 5 meshes per model and ≤ 10 for the entire scene.
* Number of triangles per model ≤ 50,000; total for the entire scene ≤ 200,000. It is recommended to have ≤ 30,000 triangles per model and ≤ 60,000 for the entire scene.
* Model, model nodes, and mesh names should only contain letters, numbers, underscores, or hyphens. Chinese characters, spaces, and special characters are not supported.
* Ensure that all objects in the model have unique names.
* Use quads for modeling; triangles can be used in special cases.
* Polygon modeling is required.
* The model’s scale parameter must not be zero or negative.
* Place the model's pivot point at the geometric center or bottom center of the model, and then align it with the origin point.
* No isolated vertices.
* No overlapping vertices.
* No duplicate faces or coplanar faces.
* Set correct normals.
* Remove all unused objects from the model (such as empty objects, hidden objects, and auxiliary objects).
* Reset model transformations: Scale should be 1; Rotation should be 0; Position should be 0.
* Avoid poles in the model whenever possible.
* Ensure a reasonable topology, with neat and even edge loops.
* To achieve better rendering results with assets containing transparent components, use separate meshes and materials for transparent and opaque parts.
* Reset any transformation data, construction history, and modifier stacks to avoid export discrepancies.
* It is recommended to keep the model’s size consistent with real-world objects.

**UV Layout:**

* No noticeable texture stretching on the model.
* UV seams should be hidden in less visible areas of the model.
* No UV overlapping.
* UV maps should be as flat as possible, making full use of the texture space.
* Multiple UV sets are not currently supported.
* Tiled textures are not currently supported.

**Materials and Textures:**

* Number of materials per model ≤ 10; total for the entire scene ≤ 40. It is recommended to have ≤ 5 materials per model and ≤ 10 for the entire scene.
* Number of textures per model ≤ 10; total for the entire scene ≤ 40. It is recommended to have ≤ 5 textures per model and ≤ 10 for the entire scene.
* Material and texture names should only contain letters, numbers, underscores, or hyphens. Chinese characters, spaces, and special characters are not supported.
* Ensure that material and texture names are unique.
* Supported texture formats: PNG, JPG, JPEG.
* Maximum texture size: 2048x2048. It is recommended that texture sizes be powers of two (e.g., 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048).
* It is recommended to use image compression software to reduce texture sizes.
* PBR materials are supported (including Metallic-Roughness and Specular-Glossiness workflows).
* Unlit materials are supported.

**Animation:**

* Number of animations per model ≤ 10; total for the entire scene ≤ 40. It is recommended to have ≤ 5 animations per model and ≤ 10 for the entire scene.
* Number of bones per model ≤ 80; total for the entire scene ≤ 160. It is recommended to have ≤ 60 bones per model and ≤ 120 for the entire scene.
* Number of blend shapes per model ≤ 50; total for the entire scene ≤ 100. It is recommended to have ≤ 30 blend shapes per model and ≤ 60 for the entire scene.
* Bone, blend shape, and animation names should only contain letters, numbers, underscores, or hyphens. Chinese characters, spaces, and special characters are not supported.
* Ensure that animation, blend shape, and bone names are unique.
* Transform animations, skeletal animations, and blend shape animations are supported; vertex animations are not currently supported.
* Blender 3.0+ has issues with exporting blend shape animations; it is recommended to use Blender 2.9.
* The maximum number of bones influencing a vertex should be ≤ 4 (each vertex can be influenced by up to 4 bones when skinned).
* The recommended animation frame rate is 30 FPS.
* When creating animations, do not scale the model's mesh or bones to zero or negative values.
* Do not name any bone "root".
* The root bone should not carry animation. If there is an animation on the root bone, an empty parent bone should be added.

**Lighting and Environment:**

* Supports directional light and ambient light.
* Supports environment maps.

{% hint style="info" %} <mark style="background-color:green;">If your file upload fails, please check the guidelines below.</mark>
{% endhint %}

### gITF and glb File Upload Guidelines:

#### 1. Quantization is not supported.

Solution: Do not apply quantization compression when exporting glb or glTF files.

#### 2. Meshopt compression is not supported.

Solution: Do not use meshopt compression when exporting glb or glTF files.

#### 3. Draco compression is not supported.

Solution: Do not use Draco compression when exporting glb or glTF files.

#### 4. Your file contains extensions that are not supported by Kivisense VTO.

a. Currently, we support the following extensions:KHR\_lights\_punctual

b. KHR\_materials\_unlit

c. KHR\_texture\_transform

d. KHR\_materials\_pbrSpecularGlossiness

#### 5. There is an error with your file.

Cause: This may be due to a malfunction in the software you used to export the glTF or glb file, resulting in an incorrect file.
