Model Targets

Vuforia Image

Model Targets enable apps built using Vuforia Engine to recognize and
track particular objects in the real world based on the shape of the object.

A wide variety of objects can be used as Model Targets, from home appliances and toys, to vehicles, to large-scale industrial equipment and even architectural landmarks.

Prerequisites

To make a Model Target for a particular object you need to have access to 3D model data for the object, such as a 3D CAD model or a 3D scan of the object that you created or obtained from a 3rd party source or application. 

The object must:

  • Be geometrically rigid (i.e. it cannot be deformable or malleable).
  • Present stable surface features (shiny surface are not supported).
  • Be fixed with respect to the environment it is in.

For more information, see Model Targets Supported Objects & CAD Model Best Practices.

Supported Platforms

Model Targets are supported at runtime on the majority of Vuforia Engine platforms. For a detailed list of devices and OS versions supported please refer to the list of Supported Devices.

For developers working with Unity, using Play mode with Model Targets requires on Windows a GPU with Direct X 11 feature level 10 support, or macOS El Capitan or newer and a GPU with Metal support.

The Model Target Generator requires Windows 7 or newer (64 bit).

Creating Model Targets

To get started, generate a Model Target using the Model Target Generator (MTG) application.

The Model Target Generator takes as input a 3D model representing the object you want to track, checks it for suitability, lets you set a Guide View angle and distance, and finally generates a Vuforia Database which you can use with Vuforia Engine's Unity integration, or in your own native application, in order to track the object. 

To improve the experience of Model Target tracking, Vuforia provides a motion hint that is ideal for tracking stationary objects. For more information, refer to the Optimizing Model Target Tracking article.

Additionally, the MTG allows you to train your databases via a cloud-based deep learning training process, producing an Advanced Model Target database or an Advanced Model Target 360 database.

  • A database can contain a single Model Target with a one or more Guide Views that is rendered on the camera image to help users position themselves so that tracking can begin.
  • Multiple Model Target databases can be trained together in the Model Target Generator to create an Advanced Model Target database where each Model Target can have one or more Guide Views that can be automatically detected, tracked, and distinguished between.
  • A single Model Target database can also be trained to become an Advanced Model Target 360 database which allows for detection from all sides of the object.

For more information, see the Model Target Generator User Guide, Advanced Model Target databases, and Getting Started with Advanced Model Target 360 articles.

Guide Views

If the Vuforia Database is not trained Vuforia Engine requires that the user hold their device at a particular angle relative to the object, and at a particular distance to initialize tracking of a Model Target. To aid with this process, your app will typically draw an image showing an approximation of the object from this distance and viewing angle, so that the user just needs to move their device until the object matches the image. When they do this, tracking can begin.

In Vuforia Engine, both the image and the particular angle/distance relative to the object that image represents is called a Guide View.

For an indication of how Guide Views work within a typical Model Target application, see Introduction to Model Targets in Unity and the Model Target Test App User Guide.

Guide Views in Advanced Model Target Databases

Using Advanced Model Target Databases in your application, you are also able to detect and track one out of several different objects (one active at a time), or you may want to have multiple Guide Views for a single object (for example, if you have a very large object and you want to provide a different user experience depending on which side the user approaches the object from).

Therefore, the Model Target Generator allows you to define multiple Guide Views per Model Target, and/or merge multiple Model Target databases together through a cloud-based training process that outputs a single Advanced Model Target database.

For applications using this feature we recommend to display a search-frame or similar UX to indicate visually that the application is actively searching for one ore more objects and/or Guide Views.

For more information, see Model Target Guide View and Advanced Model Target Databases.

Guide View in Advanced Model Target 360 Databases

The Advanced Model Target 360 feature differs from the other Model Target databases as it can detect and track one object without displaying a Guide View that first needs to be aligned with the object from a wide variety of angles defined in the MTG. We still recommend to display a symbolic guidance UX, so the end-user get's an indication what is the object the application is prepared to pick-up.

The Advanced Model Target 360 database is trained in the cloud-based training process performed through the Model Target Generator.

See Getting Started with Advanced Model Target 360 and Model Target Guide View, for more information.

Testing Model Targets

The Model Targets feature has certain requirements for the object being tracked in order to ensure good recognition and high-quality tracking. Even after following our Best Practices guide, you may find that a 3D model has to be adjusted to ensure good tracking of the object, or even that the object itself is simply not suitable for tracking in the first place.

To assist with this process, the Vuforia Engine SDK ships with a Model Target Test App. Use it to try out tracking for a given object without any additional development.

For more information, see the Model Target Test App User Guide.

Using Model Targets

Unity

In a Unity app, all Model Targets databases are tracked using the ModelTarget GameObject. The GameObjects are provided as part of the Vuforia Engine Unity Integration and is available under the GameObject -> Vuforia Engine menu in Unity.

See the Introduction to Model Targets in Unity for more information.

Native

In a native app, all Model Target databases are tracked by the ObjectTracker and loaded via instances of the Dataset.

See the Model Targets API Overview for more information, and the Model Targets Native Workflow for sample code snippets.