Start a new topic

AR Objects are constantly shifting on the screen

AR Objects are constantly shifting on the screen


I am developing a AR mobile app for Xamarin Android and iOS using Wikitude SDK 5.3.0. The core functionality of the app is based on POI samples. The problem is that the AR When done loading, objects are constantly floating (slightly shifting) their position on the screen even when the phone camera is stable and user coodinate is fixed (onLocationChanged event don't get called).

How can I assure that the AR models do not shift their position when the camera and current location is fixed? Is it possible at all?

My sample projet is located here (use Android version to test the example).

Main acivity with initializing ArchitectView can be found at xamarin-augmented/AugmentedRealityControl/AugmentedRealityControl.Droid/MainActivity.cs  

JS script for handling location is xamarin-augmented/AugmentedRealityControl/AugmentedRealityControl.Droid/Assets/world/js/world.js


I've found a similar thing.

My guess is that its down to the phones internal compass not being very accurate. If you fire up something like the GPS status app on an Android phone, you'll see that even a phone locked in position has its heading and other directional information constantly changing.

I don't know whether its possible to intercept this data before the Architect view gets hold of it and do some kind of smoothing.


I think really this is just a fundamental weakness in any AR development on a phone at this time.

Simon, thanks for your feedack! At least I am not the only one who experience this issue. I am also not sure if it is possible to intercept the data before ArchitectView, in order to smooth or eliminate the shifting.

Hope the official responce from support will clarify this

The issue with jumping POIs most of the times appears when the compass values are not accurate enough. The SDK depends on the values returned from the system and if these valures are off or e.g. 'Jump' then these will be passed on. So e.g. if you try very near metal, the POIs might jump and move a lot, as the metal interfears with the compass.

Especially if you have downloaded the latest SDK 5.3 and working with iOS 10, please keep in mind that iOS 10 has some major issues with a class called 'CMMotionManager'. This class is responsible for delivering gyro sensor values (Please also refer to our release notes). Because of this we had to 'downgrade' our iOS SDK 5.3 to use a different combination of device sensors in order to make geo AR working at all. Unfortunately this results in more unstable pois. Apple will fix this in a later version of iOS 10. Until then there is nothing we can do about this. Here is a link to the open Apple bug reporting platform.

Finally, you can have a look at this forum post and see if this helps you.

@Dmitry: what exactly do you mean when you say you want to intercept the data before ArchitectView?

Hi Eva.

I think we were both wondering if there was any way of manipulating the compass/gyro sensor values before they are used to locate the objects on the screen, so some kind of smoothing, or manipulation can occur to try and reduce the jumping/floating. I'm working with Android at the moment.


Thanks for the answer. I understand your point about compass values may be inaccurate.

I am testing this issue with Xamarin.Android component version, but thanks for the hint regarding iOS 10. From what I understand there is no viable solution for iOS for now (except re-calibrate the compass and get away from metal objects). Do you have an ideapotential solution for the Android?

By intercepting the data before it gets to ArchictectView I mean the situation that is aswered by your forum post.

Hi Dmitry,

Unfortunately there is nothing else that you can do in order to avoid the jumping POIs issues apart from the things mentioned already in the previous post.

Hello all,

I just wanted to let you know that we have released our brand new SDK 7 which includes a fix for GeoLocation features for Android. With this fix the POIS are more stable and they do not jump in your screen. If you wish, check out this blog to see all the features introduced with our SDK 7, which among other things, cover:
  • Object Recognition
  • Multiple Image Target Recognition
  • Hit-testing API for SLAM
  • Instant tracking improvements
  • Extended recognition range



Login or Signup to post a comment