Introduction to Object and Scene Recognition
Object Recognition and Tracking extend the capabilities of the Wikitude SDK to recognize and track arbitrary objects for augmented reality experiences. The feature is based on Wikitude's SLAM engine that is used throughout the SDK for any kind of tracking the environment. Object Recognition and Tracking let you detect objects and entire scenes, that were pre-defined by you. Suitable objects include
- Monuments and statues
- Industrial objects
- Household supplies
Recognition works best for objects that have only a limited number of changing/dynamic parts.
With version SDK 8 the object recognition engine can also be used to recognize larger structures that go beyond table-sized objects. The name Scene recognition reflects this in particular. The new image-based conversion method allows for Object targets that are a lot larger in size, that can be successfully recognized and tracked.
- Face of buildings
- Squares and courtyards
Make sure to read the chapter on how to create Object Targets before using Object Recognition on your own.
Object Tracking in Unity
Before proceeding with the Object Tracking sample, please make sure you are familiar with how Image Tracking works first by reading about the Image Tracking samples. Most concepts described there work in a similar way for Object Tracking.
To add a tracker prefab to the scene, simply drag the
ObjectTracker prefab into the scene hierarchy.
ObjectTracker itself needs a Wikitude Object Collection (.wto file) which contains information needed to detect the reference objects. Target collections can be generated and downloaded from Wikitude Studio - a free web based tool, that you can access with your developer account. You can use the .wto file in the same way as .wtc files are used for the
Recognition events also work exactly like recognition events for the
Define custom augmentations
ObjectTracker can only recognize and track a single object at a time, you can define augmentations either by defining a
Drawable prefab in the
ObjectTrackable, or by placing them directly as child objects to the trackable and enabling
Auto Toggle Visibility.
Object Tracking - Object Tracking scene, the
Drawable prefab workflow is illustrated. A
FiretruckAugmentation prefab was created in the
SamplePrefabs folder and assigned to the
ObjectTrackable. The transform of the prefab has been modified so that the augmentations will match the real object during tracking.
FiretruckAugmentation prefab you will also find the
FiretruckOccluder GameObject which contains two meshes that are used as occluders. You can read more about occluders and how they work in Unity here.
Extended Tracking for Objects
Extended tracking is an optional mode you can set for each target separately. In this mode the Wikitude SDK will try to continue to scan the environment of the user even if the original target object is not in view anymore. So the tracking extends beyond the limits of the original target object. The performance of this feature depends on various factors like computing power of the device, background texture and objects.
To enable Extended Object Tracking, select the
ObjectTrackable and enable the
Extended Tracking option in the inspector. In the
Targets For Extended Tracking you can specify which targets should be extended. If you want all targets to be extended, simply set
1 in the
Size field and
* in the
Element 0 field.