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 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 create a Model Target using the Model Target Generator application, which is provided as part of the Vuforia Engine SDK.

In its simplest usage scenario, 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 outputs a dataset which you can use with Vuforia Engine's Unity integration, or in your own native application, in order to track the object. 

For more information, see the Model Target Generator User Guide.

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, Model Targets are tracked using the ModelTarget GameObject, with the help of a ModelRecognition GameObject if you have a trained dataset with multiple objects and/or multiple Guide Views. These GameObjects are provided as part of the Vuforia Engine Unity integration, and available under the GameObject menu in Unity.

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

Native

In a native app, Model Targets are tracked by the ObjectTracker, with the help of a TargetFinder if your dataset contains multiple objects and/or multiple Guide Views. 

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

Multiple objects, multiple Guide Views

In your application, you may want to be able to detect and track several different objects; 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).

To support these use cases, you can use the Model Target Generator to define multiple Guide Views per Model Target, and/or merge multiple Model Target datasets together to make a single larger dataset. You can output a trained dataset, which allows Vuforia Engine to recognize the different objects and/or different Guide Views at runtime, enabling your app to automatically select the correct Model Target and/or Guide View based on what the user is actually looking at.

For more information, see Model Target Guide View and Trained Model Target Datasets.

Guide Views

To initialize tracking of a Model Target, Vuforia Engine requires that the user hold their device at a particular angle relative to the object, and at a particular distance. 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 camera view 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 are called a Guide View.

For more information, see Model Target 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.