Unity-Technologies / arfoundation-samples

Example content for Unity projects based on AR Foundation
Other
3.07k stars 1.15k forks source link

[Bug] ARFoundation 5.0.2 Android image tracking rotation jitter #1038

Closed Uldis-Silins closed 1 year ago

Uldis-Silins commented 1 year ago

ARCore image tracking is updating rotation with some random values. Thought I had something wrong with my code, so tried ImageTracking sample from this repo. Same behaviour. Tried different device, same unstable result.

Video: https://www.youtube.com/shorts/Up9lqmSFdaE

Devices: Samsung Galaxy S10e (Android 12) Samsung Galaxy Tab S7+ (Android 13)

Uldis-Silins commented 1 year ago

Tried out Google ARCore sample at https://github.com/google-ar/arcore-android-sdk/tree/master/samples/augmented_image_java on same phone. Tracking is a lot more smooth and stable.

andyb-unity commented 1 year ago

@Uldis-Silins did you use the same image in both cases? It may be possible that Google has simply selected an image with a higher tracking score for their sample app.

tdmowrer commented 1 year ago

I can understand there being subtle differences in the results associated with a particular image choice, but the video provided by OP is pretty bad. I don't remember image tracking ever being that unstable. Is Unity able to reproduce this poor quality using the samples? Maybe it's device specific?

andyb-unity commented 1 year ago

We have received multiple reports of tracking quality regressions on Android in AR Foundation 5 across several subsystems. We are working with Google to gather evidence and determine the source of the issue, which could be due to the ARCore version upgrade in AR Foundation 5.0 or some other factor.

This case may or may not be linked to other reports of poor tracking quality. @Uldis-Silins it would help our investigation if you are able to try AR Foundation and ARCore versions 4.2.7 and compare the tracking quality in those versions to what you observed here.

Uldis-Silins commented 1 year ago

I was working on a project using 4.2.7 since november and noticed bad image tracking on android. Tried this repo to check if problem was on my end and noticed the same bad tracking quality. Btw, I tried image tracking in another very popular game engine with different set of android phones and image tracking was also poor.

Uldis-Silins commented 1 year ago

@Uldis-Silins did you use the same image in both cases? It may be possible that Google has simply selected an image with a higher tracking score for their sample app.

I used the image provided in sample. Tried the same image in Unity ARFoundation project and had the same poor results.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

andyb-unity commented 1 year ago

Closing this issue due to inactivity. Note that we fixed an issue that may have been related to your observations: https://github.com/Unity-Technologies/arfoundation-samples/issues/1063. Feel free to re-open this issue if you have further questions.

pinnakkkk commented 10 months ago

Closing this issue due to inactivity. Note that we fixed an issue that may have been related to your observations: #1063. Feel free to re-open this issue if you have further questions.

I am facing the same issue as the OP on ARCore versions 4.2.7. I have also tried the #1063 solution, but no luck. This issue exists even on the latest 5.0 or 6.0 builds.

Here are the things I have tried so far:

Used Unity sample marker. Created a custom high feature point marker. Tested the app on various Android phones (Pixel 7, Moto G51) and iOS devices (iPhone 11, iPhone 12)

MarcoLavoro commented 1 month ago

i too have a poor tracking quality on android, no way to fix it?

andyb-unity commented 1 month ago

i too have a poor tracking quality on android, no way to fix it?

In my experience, tracking quality for ARCore on Android remains well below the quality of ARKit on iOS, but I don't have access to a wide range of ARCore devices. There is likely some variance based on the hardware / software variation in different Android devices. The best way to test this on your device is to find a known ARCore sample app (perhaps Google has something you could download?) that is not built with Unity to use as a benchmark.

If you find tracking quality issues in Unity apps that you don't see in non-Unity apps, definitely let us know! But I suspect that ARCore is at the root of your tracking quality concerns, and you should bring such concerns to Google if so.

Uldis-Silins commented 1 month ago

i too have a poor tracking quality on android, no way to fix it?

The problem turned out to be Input.location running in background, if I remember correctly. Turning location input off when strating ARSession noticeably reduced jitter.

pinnakkkk commented 1 month ago

i too have a poor tracking quality on android, no way to fix it?

The problem turned out to be Input.location running in background, if I remember correctly. Turning location input off when strating ARSession noticeably reduced jitter.

what's this? I would be happy to test this solution