googlesamples / arcore-depth-lab

ARCore Depth Lab is a set of Depth API samples that provides assets using depth for advanced geometry-aware features in AR interaction and rendering. (UIST 2020)
https://augmentedperception.github.io/depthlab/
Apache License 2.0
763 stars 152 forks source link

Device compatibility #3

Closed Iansi6 closed 4 years ago

Iansi6 commented 4 years ago

All ARCore compatible devices are compatible with this API? I have a Samsung Galaxy S8 and S9.

kidavid commented 4 years ago

Please find the list of ARCore compatible devices with Depth API support here: https://developers.google.com/ar/discover/supported-devices

Please look for "Supports Depth API" in the Notes column of each listed device.

yearofthewhopper commented 4 years ago

Hi! So, I know this repo is set up to only work with android but i feel it should be a little more explicit that ARcore's depth api only works with android devices. On the above link: for example under the section of supported devices it says

iOS ARCore supports all ARKit-compatible devices running iOS 11.0 or later.

Verification of newer devices:

Newer devices are added to the list of devices (below) after they have been verified.

Support for older devices:

Support for specific features depends on the ARCore feature and the version of the device, as follows:

Cloud Anchors: Cloud Anchors are not supported on iOS devices that are older than the devices in the following list.

Augmented Faces: Augmented Faces may work on iOS devices that are older than the devices in the following list, but may not operate at the required frame rates for live AR use cases.

The following iOS devices have been verified to work with all ARCore supported features:

The "all ARCore" section of this is very misleading since presumably all ARCore features includes the Depth API. I've also seen several articles that also reference that Depth API can be used with many models of iphones. When I did manage to get these examples to compile for iOS--I was given a prompt that linked me to the above compatibility site.

So, I'm trying to close the loop on potential confusion here and clarify: does the depth api work for iOS at all?

kidavid commented 4 years ago

Depth API is a specific feature of ARCore, which runs on a subset or ARCore-certified devices. At this point, iOS devices are not compatible.

yearofthewhopper commented 4 years ago

@kidavid Thank you! I appreciate this response!

fredsa commented 4 years ago

@yearofthewhopper Thank you for highlighting the confusion. We'll update the wording in the iOS section ("The following iOS devices have been verified to work with all ARCore supported features:") to be less confusing.

In case there are other improvements we should make:

yearofthewhopper commented 4 years ago

@fredsa Thank you for asking these follow up questions!

updating the readme.md would be really helpful as I wouldn't have attempted to even use the depth api had I known it wasn't supported by iOS devices and hence would've saved me a lot of time and heartache.

The unity project itself is set up to work on android platform; which I think makes sense given that it only works for android devices--but I still feel like a note in the project itself to only use with android devices would've been helpful (given that not every user is going to read the readme.md)

The linked website https://developers.google.com/ar/develop/unity doesn't seem to clarify anything in regards iOS and ARCore's Depth API, like https://developers.google.com/ar/develop/unity/depth/overview for example could say "not available for iOS". There's a lot of opportunities to say explicitly in the documentation that this "subsection of ARCore" doesn't work with iOS when all others do?

fredsa commented 4 years ago

Thanks again for the feedback.

We're putting together a few updates to at least these pages to help clarify Depth API support and available features when targeting iOS:

For the project itself we could add a compile time error, e.g.

#if !UNITY_ANDROID
   // Depth API support currently available on Android only.
   // https://developers.google.com/ar/discover/supported-devices
   #error Build platform must be set to Android.
#endif
Thaina commented 4 years ago

@fredsa Is the devices that not currently support depth api in that list could be possible to be supported in the future?

To be honest I have Nokia 7 plus and I want to know is it just waiting for calibration or it was tested and considered impossible. Also I prefer Nokia (Also Motorola) brand but it seem none of them currently support depth api. Do we have anything particular with Nokia and Motorola?

I wish you would also mark impossible for depth api so people could know they should just buy new device that support it if they want to play with depth api app and don't need to wait hopelessly

fredsa commented 4 years ago

@Thaina Our goal is to make the Depth API available on as many ARCore supported devices as possible. However, the additional depth processing requires additional CPU resources that always available on lower-end and older devices. While we do expect to expand the list of supported devices over time, it's unlikely that all currently ARCore supported devices will be able to support the Depth API. We do continuously look for improvements to ARCore's algorithms, to increase the number of supported devices and make additional CPU capacity available to app developers.

fredsa commented 4 years ago

The following docs have been updated:

Thaina commented 4 years ago

@fredsa I wish I could see the possibility on each one so I could decide (for me and some people I would suggest them) should wait or just find new device for support ARCore

Is Nokia 7 plus on the side of process or on the side of too old and too low to be support with current algorithm though?

If you need more than a year to support old device I think it then not worth to do. I would have buy new one for the next year. Nokia 7 plus already being degraded for everyone bought it since Q1 2018

fredsa commented 4 years ago

@Thaina Once we're confident that a device can be supported, we update the device profile and mark the device as supported. So, unfortunately there's not a way of knowing which devices will be able to be supported without doing the actual work to support them and verify.

Thaina commented 4 years ago

@fredsa I know, what I mean is, we should have a tag or some marker to tell that it was not confident that a device can be supported or confident that a device cannot be supported

In other word, which device was already tested but cannot support, and which is still in testing process (and which is not even begin to test yet)

ruofeidu commented 4 years ago

Thank you all for your feedback, we have added the supported device list in README.md as follows:

ARCore Depth API is enabled on a subset of ARCore-certified Android devices. iOS devices (iPhone, iPad) are not supported. Find the list of devices with Depth API support (marked with Supports Depth API) here: https://developers.google.com/ar/discover/supported-devices. See the ARCore developer documentation for more information.

Thaina commented 3 years ago

Hello. Do we have any changes since the last update

Could we have information in that page as json file in github repo? So we could always see changes and changelog (and also diffing)

CyberColtz21 commented 2 years ago

How do I enable the Occlusion feature on a Samsung S9? Whenever I use the app, it's the same experience as the older versions of ARcore like in 2018. I've been using that for about six years and whenever I use it, my hand is always behind the virtual objects. Do I need to edit the code myself, like open source or maybe not? I'm not too skilled in programming or code. This is all pretty new to me.

ruofeidu commented 2 years ago

Hello. Do we have any changes since the last update

Could we have information in that page as json file in github repo? So we could always see changes and changelog (and also diffing)

Hi Thaina,

We haven't updated much since the last update. Please feel free to suggest things you'd like to have in the next version. The legacy arcore-sdk branch contains all the examples we opensourced for the ACM UIST 2020 paper while the AR Foundation version provides a minimal set of samples using AR Foundation SDK to implement depth. We haven't migrated all the samples from the paper to ARFoundation yet, but I'd like to merge pull requests from contributors.

ruofeidu commented 2 years ago

How do I enable the Occlusion feature on a Samsung S9? Whenever I use the app, it's the same experience as the older versions of ARcore like in 2018. I've been using that for about six years and whenever I use it, my hand is always behind the virtual objects. Do I need to edit the code myself, like open source or maybe not? I'm not too skilled in programming or code. This is all pretty new to me.

Hi CyberColtz21,

Occlusion and depth are supported as shown in https://developers.google.com/ar/devices. You can download our sample app from here https://play.google.com/store/apps/details?id=com.google.ar.unity.arcore_depth_lab before playing with the code :)

Cheers, Ruofei

Darkar25 commented 2 years ago

My Samsung Galaxy S8 is supported accoring to the link in readme, but its unsupported according to play store?thats strange...is there anything that can be done?

CyberColtz21 commented 2 years ago

How do I enable the Occlusion feature on a Samsung S9? Whenever I use the app, it's the same experience as the older versions of ARcore like in 2018. I've been using that for about six years and whenever I use it, my hand is always behind the virtual objects. Do I need to edit the code myself, like open source or maybe not? I'm not too skilled in programming or code. This is all pretty new to me.

Hi CyberColtz21,

Occlusion and depth are supported as shown in https://developers.google.com/ar/devices. You can download our sample app from here https://play.google.com/store/apps/details?id=com.google.ar.unity.arcore_depth_lab before playing with the code :)

Cheers, Ruofei

Your app supports my phone... But the occlusion does not. Isn't that the main point of this app? Why is this so confusing? It could have been programmed to include occlusion feature on galaxy S9 and still I've never experienced such a thing. I'd like it if you explained this better.