I'm having two problems:
1. Vuforia ground plane using VUFORIA_SENSOR_FUSION stops and freezes environment (other objects that are in the scene, not as ground stage) if the tracked object is out of view (tracking lost).
I have a sphere object in my scene with a big scale and a 360 photo on it so ARCamera position doesn't affect how it looks.
After placing a ground plane object there is a trigger on it that enables the 360 photo.
Rotating the device around to view the photo loses tracking on the ground object and freezes or sticks current view on the camera untill I rotate the device to find the tracked object again.
This is simply reproducable if you place some floating cubes around in scene and then place ground stage object and rotate device around. Is there a way to make this work?
2. Possible solution (but only with ARCore enabled - less supported devices)
I have noticed that this functionality works when using ARCore (I can rotate to view the 360 photo and it doesn't freeze the camera) - with PLATFORM_SENSOR_FUSION mode
I have to check if users device is capable of using ARCore to then tell to go to the Google Play and download.
If the device does not support ARCore then simply tell the user "sorry".
How to do this? Force fusion mode to platform sensor
- Forcing platform sensor doesn't work because if my device supports VUFORIA_SENSOR_FUSION it will automatically use this instead.
The code I'm using to do this:
VuforiaRuntimeUtilities.SetAllowedFusionProviders(FusionProviderType.PLATFORM_SENSOR_FUSION); set it before init as stated in documentation
Camera.main.GetComponent<VuforiaBehaviour>().enabled = true; enable behaviour on camera
Debug.LogError(VuforiaRuntimeUtilities.GetActiveFusionProvider().ToString()); this then outputs vuforia sensor but should call error (no ARCore)
Why am I doing this? If this would return error I then could direct the user to Google Play to download ARCore if he doesn't have it installed. Else no problem because it will use ARCore