3D Model Creation Standards
This document defines the technical requirements and optimization standards for 3D models used in XenseAR environments.
1. File Format & Size Limits
Supported Formats
| Type | Supported Formats | Recommended |
|---|---|---|
| Model File | .GLB, .OBJ, .FBX | .GLB |
| Textures | .PNG, .JPG, .JPEG | - |
ℹ️ Info
.GLBfiles are loaded directly at runtime..OBJand.FBXfiles are packaged into AssetBundles before deployment.
File Size Limits
| Type | Maximum | Recommended |
|---|---|---|
| Single Model | ≤ 5 MB | ≤ 3 MB |
| Entire Scene | ≤ 20 MB | ≤ 10 MB |
ℹ️ Info
A Scene refers to the visible content area rendered on the device screen.
💡 Tip
Optimizing texture resolution significantly reduces overall model size.
2. Model Technical Specifications
Topology
Node Count
- Single model: ≤ 20 (recommended: ≤ 5)
- Entire scene: ≤ 200 (recommended: ≤ 10)
Triangle Count
- Single model: ≤ 50,000 (ideal: 4,000 – 15,000)
- Entire scene: ≤ 300,000 (recommended: ≤ 100,000)
Reference Polygon Ranges
| Model Type | Vertices | Triangles |
|---|---|---|
| Low-detail character | 2,000 – 10,000 | 4,000 – 20,000 |
| High-detail character | 10,000 – 20,000 | 20,000 – 40,000 |
| Simple prop | 500 – 1,500 | 1,000 – 3,000 |
| Complex prop | 1,500 – 5,000 | 3,000 – 10,000 |
| Basic environment | 5,000 – 15,000 | 10,000 – 30,000 |
| Detailed environment | 15,000 – 30,000 | 30,000 – 60,000 |
3. General Model Requirements
Naming Convention
- Use only:
- Letters (A–Z, a–z)
- Numbers (0–9)
- Underscore (
_)
- No spaces or special characters.
Pivot & Alignment
- Pivot must be:
- At model center or
- At bottom center (for ground placement)
- Position at world origin:
(0,0,0)
Geometry Rules
- Use triangles or quads
- Avoid:
- N-gons
- Non-manifold geometry
- Hidden internal faces
Reset Transform
Before export:
- Scale =
1 - Rotation =
0 - Position =
0
Real-World Scale
- Model scale must match real-world proportions.
- Unit system: Meters
⚠️ Warning
Incorrect scaling may result in improper AR placement.
4. UV Mapping Requirements
To ensure correct rendering and optimal performance in Unity-based AR applications for AR glasses, all 3D models must comply with the following UV mapping requirements.
Requirements
- Every mesh must contain UV Channel 0 (UV0) for mapping textures such as Base Color, Metallic, Roughness, and Normal Map. Models without UV0 will not be accepted.
- All UV coordinates must remain within the 0–1 UV space. UDIM workflows or UV tiles outside the 0–1 range are not supported.
- UV Islands must not overlap, except for intentional Mirror UV usage where overlapping does not affect visual quality.
- UVs must be properly unwrapped with minimal UV stretching, and Texel Density should remain consistent across the entire model to ensure uniform texture quality.
- UV Islands must have sufficient padding to prevent texture bleeding when mipmaps are generated.
- Minimize the number of UV islands and unnecessary seams to improve texture quality and optimize rendering performance.
- Models using Normal Maps must not contain flipped UVs.
- When using Normal Maps, the model must be exported with both Normals and Tangents.
- The use of Texture Atlases is strongly recommended so that multiple objects can share a single material, reducing draw calls and improving rendering performance.
- UV Channel 1 (UV1) is only required for models using Baked Lighting/Lightmaps. For AR applications using Realtime Lighting, UV1 is not required.
Recommended UV Padding
| Texture Resolution | Minimum Padding |
|---|---|
| 512 × 512 | ≥ 4 px |
| 1024 × 1024 | ≥ 8 px |
| 2048 × 2048 | ≥ 16 px |
Acceptance Criteria
A model is considered compliant when it meets all of the following requirements:
- Contains a valid UV0.
- All UV coordinates are within the 0–1 UV space.
- No UV overlap, except for approved mirrored UV layouts.
- No UV stretching or flipped UVs.
- Consistent Texel Density across the entire model.
- UV island padding meets the recommended values for the target texture resolution.
- Normals and Tangents are exported when using Normal Maps.
- Meets Unity performance optimization requirements for AR glasses applications.
5. Materials & Textures
| Type | Maximum | Recommended |
|---|---|---|
| Material Count | ≤ 10 | ≤ 5 |
| Texture Count | ≤ 10 | ≤ 5 |
| Texture Size | ≤ 2048×2048 | Power of 2 |
Technical Requirements
- Shader: Use default URP (Unity Universal Render Pipeline) shaders.
- Do not embed textures inside
.FBXfiles. - Keep textures as separate files for Unity import.
Supported Material Workflows
- PBR:
- Metallic–Roughness
- Specular–Glossiness
- Unlit materials (if required)
⚠️ Warning
Excessive material count increases draw calls and reduces runtime performance.
6. Animation Standards
| Type | Maximum | Recommended |
|---|---|---|
| Bone Count | ≤ 80 | ≤ 60 |
| Animation Clips | ≤ 10 | ≤ 5 |
| Bone Influence | ≤ 4 | ≤ 4 |
Technical Requirements
- Frame rate: 30 FPS
- Each vertex: ≤ 4 bone influences
- Animation must:
- Start at frame 0
- Use relative positioning (no absolute coordinates)
- Be loopable if long-duration
⚠️ Warning
Improper rigging or excessive bones may cause performance degradation on mobile AR devices.