Model Preparation¶
The quality of your 3D model directly affects tracking performance. This guide covers mesh requirements, what makes objects easy or hard to track, how to choose between tracking methods, and model generation.
Mesh Requirements¶
- Correct scale is critical — the mesh must match the real object's dimensions in meters
- Centered pivot — the mesh origin should be at or near the object center
- Unity Mesh Filters are read automatically from the TrackedBody GameObject and its children
- Holes and open surfaces are fine — the mesh does not need to be watertight. However, unnecessary internal geometry (pipes, wiring, hidden chambers) adds complexity without helping tracking. A clean exterior shell is ideal.
Scale matters
If your mesh is in centimeters but Unity expects meters, tracking will fail or be wildly inaccurate. Verify the scale by comparing the mesh bounding box to the real object's dimensions.
Simplify When Possible¶
An optimized model without unnecessary detail tracks better and generates faster. Remove internal geometry, hidden faces, and overly dense tessellation that doesn't contribute to the visible outline or surface edges.
| Complexity | Triangle Count | Notes |
|---|---|---|
| Simple | < 5,000 | Fast generation, good for basic shapes |
| Medium | 5,000 - 50,000 | Good balance for most objects |
| Complex | > 50,000 | Longer generation, consider decimation |
Very high-poly meshes slow down model generation and rendering but don't improve tracking quality. Consider decimating meshes above 50k triangles.
What Makes Objects Easy or Hard to Track¶
Good Objects for Tracking¶
- Distinct shape — objects with a recognizable outline from multiple angles
- Asymmetric geometry — the tracker can distinguish different viewing angles
- Clear surface features — edges, creases, and contours that are visible in the camera image
- Reasonable size — objects that fill a significant portion of the camera frame
Challenging Objects¶
| Object Type | Why It's Hard | Suggestion |
|---|---|---|
| Spheres, cylinders | Featureless outline — looks the same from every angle | Add depth tracking if sensor available; edge modality won't help |
| Simple boxes | Very few distinct features, symmetry confuses the tracker | Works better with edge modality if the box has visible edges |
| Very thin/flat objects | Minimal silhouette area, weak depth signal | Ensure the thin edge is visible; may need specific viewpoint coverage |
| Transparent/reflective objects | Silhouette blends with background, depth sensors can't measure | Extremely difficult — consider adding opaque markers |
| Deformable objects | Shape changes don't match the rigid 3D model | Only works if deformation is minimal |
Tip
If your object is near-featureless (sphere, smooth cylinder), silhouette tracking with depth is your best bet. Edge tracking needs geometric edges to match — a smooth surface has none.
Choosing Between Silhouette and Edge¶
The Tracking Method setting on the TrackedBody determines which primary modality is used:
Use Silhouette When¶
- The object has a distinct color or appearance against the background
- The object is curved or organic — smooth outlines work well
- You expect fast camera or object movement — silhouette is the most resilient to motion
- You're tracking from a distance where fine edges aren't visible
Use Edge When¶
- The object has lots of geometric detail — edges, creases, sharp corners (e.g., large machinery, engine parts, industrial equipment)
- You're tracking a partial view of a large object where only some edges are visible
- The background is cluttered or similar in color to the object — edge tracking uses local gradients, not global foreground/background separation
- The object is in a low-contrast environment — edges are detectable at lower contrast than silhouettes
Quick Reference¶
| Factor | Silhouette | Edge |
|---|---|---|
| Object contrast vs background | Needs clear separation | Works with lower contrast |
| Fast motion | Very resilient | More sensitive |
| Background clutter | Sensitive | More discriminative |
| Best object type | Curved, distinct outline | Machinery, mechanical parts, geometric detail |
| Partial view of large object | Weaker (needs visible outline) | Strong (internal edges still visible) |
Mesh Considerations by Modality¶
For silhouette tracking:
- The outer silhouette is what matters — the outline shape from each viewing angle
- Internal holes and details don't contribute to tracking (they're inside the silhouette)
- Smooth, accurate exterior geometry gives the best results
- A simple, clean mesh often tracks better than a detailed one
For edge tracking:
- Surface edges and creases are the primary features — the more geometric detail on the exterior, the better
- Internal edges visible through holes or openings do contribute — edge tracking can match them
- Accurate edge geometry is essential — if the 3D model's edges don't match reality, tracking suffers
- CAD models work particularly well because their edge structure matches the real part closely
Generating a Tracking Model (Silhouette Only)¶
A tracking model is only required for silhouette tracking. Edge tracking works directly from the mesh geometry — no model generation needed.

- Select the TrackedBody in the scene
- In the inspector, find the Model section
- Click Generate Silhouette Model
- Wait for generation to complete
The generated model is stored as a TrackingModelAsset — a ScriptableObject in your project. It's automatically assigned to the TrackedBody.
Tip
If you're using edge tracking, you can skip model generation entirely. Just assign the mesh and start tracking.
Viewpoint Coverage¶
The model generator renders the object from many viewpoints on a sphere around it. You can control which viewpoints are generated:
Vertical Coverage — Controls the elevation range:
| Preset | Description |
|---|---|
| Full Sphere | All angles (default) |
| Upper Hemisphere | Only views from above (floor-standing objects) |
| Side Ring | Only views from the side (wall-mounted objects) |
| Custom | Manual min/max elevation angles |
Orbit Radius — Distance from the object center for viewpoint generation. Pick a radius close to the distance you expect to mostly view the object from — this gives the best tracking quality at that range. Tracking still works at other distances, but quality is highest near the generation radius.

Model Settings¶
| Setting | Description |
|---|---|
| Orbit Radius | Distance of viewpoints from the object. Set to the typical viewing distance for best results. |
| Subdivisions | Viewpoint density on the sphere (higher = more viewpoints = longer generation) |
| Points Per View | Density of sample points per viewpoint |
Tips¶
- Test with the default settings first — they work for most objects
- If detection is unreliable from certain angles, increase viewpoint coverage for those angles
- For symmetric objects, fewer viewpoints may be sufficient
- Model generation only needs to happen once — the asset is saved in your project
- You can regenerate at any time if you change the mesh or settings
- Simplify your mesh before generating — remove internal geometry and hidden faces for faster generation and better performance