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.
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 surfaces are not supported).
For more information, see Model Targets Supported Objects & CAD Model Best Practices.
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 require 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 is supported on Windows and macOS. Please consult the Supported Versions table for more details.
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 Guide View angles 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. Such a database contains one or more Model Targets where each contains one or more Guide Views with a recognition range up to 360 degrees.
Advanced Model Targets support recognition and tracking of an object from anywhere in the defined recognition range without requiring the user to manually align the view with the physical object.
A Model Target 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.
Guide Views in Advanced Model Target Databases
By using Advanced Model Targets in your application, you are able to detect and track one out of several different objects (one active at a time), or you may want to have multiple Advanced Guide Views for a single object with a certain recognition range (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.
NOTE: For applications using the Advanced Model Target feature, we recommend displaying a search-frame or similar UX to indicate visually that the application is actively searching for one or more objects as Advanced Guide Views are by default not shown on the screen during runtime.
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
In a Unity app, Model Target databases are tracked using the ModelTarget GameObject. The GameObjects are provided through the Vuforia Engine Unity extension and can be found under the GameObject -> Vuforia Engine menu in Unity.
See the Introduction to Model Targets in Unity for more information.
In a native app, all Model Target databases are tracked by the ObjectTracker and loaded via instances of the Dataset.