Since VisionLib's main advantage is to track particular objects, it makes sense to use digital 3D models of those real objects for both, visualization purposes and tracking.
The following guide gives a plain overview on best practices while preparing your 3D files for tracking. The prefabs and example scenes mentioned in this guide concern the VisionLib SDK for Unity. We assume that you've imported the VisionLib plugin for Unity in your project.
Using 3D models for tracking may come with different requirements than for sole rendering and visualization. That is why we recommend to duplicate the 3D model's file for tracking and visualization (e.g. one stored in StreamingAssets/VisionLib
the other in the Models
folder) — although both files may be similar or the same.
We use the assimp-library to import models into VisionLib. So file formats supported by this library should work with VisionLib right away. If you experience trouble, please give us a note and contact us at request@visionlib.com.
In order to optimize your model for tracking, you might make use of occluding structures. Therefore you should use occlusionModelURI
parameter, that works like the modelURI
parameter. You can load some replacement model which in turn covers the use of lines in the covered area by the loaded occlusion model. If you have e.g. some car you want to track, but the rotational position of the wheel does usually not cover the real model, you might leave the wheels in the tracking model away. Instead you will have a line model being generated for the space behind the wheel, and thus tracking will not work properly in this region. A better approach is using an occlusion model, which covers the rims. This will lead to a line model, where wheels are respected, but no lines for the rims will be generated.
A Tutorial on how to use this feature in detail will follow in the next versions.