ARCore with different scene / real camera - android

Friends and me are trying out the ARCore of Google. But since there is only limited phone support at the moment, none of us owns one of the supported phones.
So I googled and found out that you can run ARCore in the Android Emulator, which works nice.
But I have a question regarding that given scene: Can we change it somehow, or use the webcam from our laptops in order to test it under our real scenery?
Ultimately we want to build something with Unity + ARCore, but our current Unity-App crashs when running it on the Emulator. So I want to ask, if this is even possible in the current state, to build an .apk with ARCore in Unity and run in on the Emulator?
Sorry for alot of questions.

Related

How to debug when using ARCore?

I'm supposed to make a small AR app for android but since it seems ARCore can't use the computer's camera and Unity Remote isn't compatible with ARCore I have no way of running the app in the unity editor.
Only thing I can do right now is building the app, installing it on my phone, eventually create a canvas where I put some text to see if the app goes where I want it to go. I probably spent half the day debugging simple things because I can't find a way to have access to any console while using the app.
I can run a normal unity app with Unity Remote as long as ARCore isn't used, otherwise, it's just a black screen.
It's for a professional project so I can't just installed plenty of other plugins to make it work that way, I'm limited to ARCore and AR Foundation.

Running Augmented reality apps on Linux using emulator

In continuation with this question. I am asking this question.
I installed Android Studio. I installed Unity 3D. I followed tutorials of Java-Android Studio and Unity. Nothing worked well because of the reason that they need the latest version of ARCore and neither my mobile nor emulator is compatible with it. I am exhausted searching for alternatives.
I didn't find any tutorial or guidance related to developing Augmented Reality Android apps. Please suggest me a reference that works on Ubuntu system without the need of the physical mobile, but with an emulator, if possible.
Note: Please provide a reference that is relatively easy to test small app initially so that I can proceed forward. I am saying this because of the reason that I am working from almost 3 months but didn't run a small AR app either in the emulator or in my mobile (Redmi Note - 4).
You should check 8thWall. It runs on almost all phones and it has SLAM as well. You can not use it with emulator but it has an application called XR Remote in which you can test your code without building for Android or iOS. Minimum requirement for Android is Android Kitkat (4.4) or higher and for iOS Minimum iOS 7.0 or later is required.
As the owner of the question stated 8thWall can not be used with Linux. As an alternative [ARToolKit] can be used. It is an open source AR framework. For more details you can refer here and here

ARCore Compatible devices

What are the next Android smartphones to be compatible with ARCore?
Is there a known list of future compatible devices yet? Maybe a general project schedule?
We are about to purchase some units for AR development assessments, at first we thought about trying one of the Tango devices out there (we already had a good experience with Tango), but our current bet is that the ARCore platform will beat it in terms of market share.
Currently, the compatible devices are only:
Google Pixel
Samsung Galaxy S8 (the non-plus version)
But obviously, we would prefer to choose from a wider variety (e.g. S8+, G6...)
I know that there is a known hack to make it work on other devices, but it is better to start on the right track with a compatible one while we still can.
Also, is there a way to run ARCore on emulator that connected to webcam?
For test purpose.
(I don't think this answer deserves the bounty, and I also don't think you'd get a worthy one any time soon. But let's roll anyway:)
So I did a bit of a research as to why are these the only devices supported. It's a tough question to answer of course, but we can speculate.
I read through the reddit on the subject (among other sources) and it seems that ARCore does not require some special hardware, but it does require a "calibration profile" per each specific set of camera, sensors, and builds. I.E. each device.
I've found this Medium article about what Apple had to do in order to calibrate their own ARKit coupled with some speculation about Google's calibration process.
WOW! Turns out it's a really heavy task. And it seems that Google has chosen these devices specifically because they've already undergone some initial calibration for other purposes. So it's even harder to start the calibration from scratch.
OK... So?
So... There seems to be mixed news here:
The good news is that ARCore does not rely on some fancy new hardware platform with some fancy new standards that are gonna be hard to enforce in an already highly fragmented market.
The bad news is that unless an automatic calibration process is invented, each device SKU needs to undergo a costly, lengthy and manual process. It's very hard to estimate the costs involved, and even harder to estimates the rewards.
Which brings us to where we started: My guess is that device manufacturers will not be quick to jump on the ARCore bandwaggon. Yet.
It seems that it's gonna take some time before you'd get a reliable answer to your question.
The current list of ARCore supported device manufacturers and models can be found here:
developers.google.com/ar/discover#supported_devices
To your last question around testing on the emulator, as of this week, you now run ARCore in the Android Emulator with a virtual AR camera:
https://developers.google.com/ar/develop/java/emulator
When you are using Android Studio 3.1, and Android Emulator v27.1.10, just create a new Android Virtual Device (AVD) for the Android Emulator that targets Android 8.1 Oreo (API 27) and verify that the back camera is set to Virtual Scene.
You will get the current list of ARCore supported device manufacturers and models below link.
ARCore Supported Devices
Here is a list of ARCore 1.4 Compatible Devices (last updated October 19th, 2018).

Unity3d Using a different device for rendering and displaying

Our project consists of very detailed models and we are supposed to show it in a android device. We are using VR cardboard.
The project has become quiet large and it's starting to lag in the mobile phone. We are still add more models and effects.
We need a way such that the game runs on a pc and displayed on android device so that everything runs smoothly. The game needs to access gyroscope and other sensors for VR.
Can It be done?
Yea. Unity Remote is there to help you with just that.

Test on emulator or actual device? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Android Emulator vs Real Device
Is it better to test your app on an emulator or on an actual Android device? As in to test your app while you are still developing it.
In addition, does testing on the emulator gives you more computing power than actual devices?
It is always better to test on a real device, as the emulator lacks certain inputs like sensors etc. (especially the older version of it). You will also have problem testing services like In app billing and LVM as the emulator doesn't come with Google Play, and the accounts that can be configured on it are limited.
The best solution is to have a few devices to test on, and use the emulator for testing different screen sizes and how they react to your layouts. There was a Google I/O talk this year that gave you a breakdown of what devices you needed to test on to make sure you have maximum compatibility. I don't remember which one though, sorry.
Concerning the development period,you should test the application on emulator first so that you can test it on multiple targets having different versions eg:2.2, 2.3, 4.0 to find out the loopholes and the resolution issues.
After completion of development you can test it on your actual device for hands on experience.
I would say it certainly depends on your needs. Since you are developing an application that will be consumed not by yourself actually, it will be consumed by your targeted audience and what will they have? They will definitely have real devices to use your application.
There are some features that are not available or really hard to configure on the emulator, like for example you are developing an app that uses a bluetooth feature.
The emulator is certainly designed for developers to test their apps in a virtual environment with limited functionality.
It really depends on the kind of app you are creating. If you are creating a game that requires the accelerometer then a real device would be beneficial. Yet if you are creating an app with a simple layout and you want to test for different screen dimensions and so on, the emulator is pretty good with this.
Yet you should always have a real device, since the emulator is very limiting.
Android simulator provides a platform very similar to the actual phone, so if your application is running in the simulator, it goes to 94% given the same result in the actual phone, except that sometimes there are modules that must be compulsorily test on a phone like the GMap, Push, screen size..

Categories

Resources