Log in or register to post comments

Combine Image Tracking and Positional Ground Plane in one app

December 17, 2018 - 7:06am #1

Hello Vuforia Forum,

For my use case I need to combine MarkerTracking and Device Tracking in one Unity application, which has proven to be quite difficult.

I have a two-sided Image Marker, meaning a credit-card sized piece of paper with a distinct Image Marker on each side. On the frontside I want to render some 2D-images and text which works well with "conventional" Marker Tracking. However, rendering the content for the backside is much more complex for two reasons:

a) The quality of the Image Marker is pretty bad, so Vuforia loses the target shortly after it was found. (My use case unfortunately requires this exact image marker)

b) There is a lot of content to render, so I need to "zoom out" with my smartphone to see it all, which causes even more trouble with point a)

 

I figured a Ground Plane works much better in this case, so i use the backside Image Marker only once to determine its position. Then I use a script to spawn a Ground Plane where the Image Marker has been found.

The big problem with this approach is that I need both "conventional" Marker Tracking for the frontside Marker Tracking and a Positional Device Tracker for the backside Ground Plane. When I activate Positional Device Tracking in the Vuforia config in Unity, backside Ground Plane tracking works fine but frontside Marker Tracking is broken.

So I wrote a script that switches Positional Device Tracking on and off at runtime, like so:

Vuforia.CameraDevice.Instance.Stop();
Vuforia.CameraDevice.Instance.Deinit();
Vuforia.TrackerManager.Instance.InitTracker<Vuforia.PositionalDeviceTracker>();
Vuforia.CameraDevice.Instance.Init();
Vuforia.CameraDevice.Instance.Start();
Vuforia.TrackerManager.Instance.GetTracker<Vuforia.PositionalDeviceTracker>().Start();

Since I apparently need to reinitialize Vuforia in order to do that, the app stops for a few seconds and the screen turns black, which obviously breaks the immersion. Is there any other way I can do this without stopping the app? Or can anyone think of another way to improve Marker Tracking with a bad Image Marker, except for changing the marker itself?

Any help is much appreciated :)

Log in or register to post comments