I’m totally new to this exciting AR world. In my younger years 40 years ago I programmed in COBOL and Assembler, but nowadays to work with ARtoolkit I would have to know Java or C++ or C#. And to learn one of those languages is too much for me in my age. So I thought about using Unity and ARtoolkit for Unity. But first of all I have the following questions before I start this adventure. I want to do the following:
. Use product overlays (images), like a balcony railing, to place them over similar objects on the Ipad camera view and bring them there into the right position and size. But perhaps I have to use here models and not images, right?
. Use product images from a website and be able to try them on with IOS and Android devices front views. For example try on a bracelet. And be able to bring the bracelet in the right position and size.
Can I do the above with Unity and ARtoolkit for Unity without any programming? And when I’d have to program, which programming language I’d have to use?
It would be nice if someone has the time to answer my questions. Thanks a lot in advance.
I’m not 100% sure I understand your questions correctly.
1 : Is this similar to what you want to achieve ?
If so, I believe ARTookkit doesn’t support this feature (I only did a quick google check, don’t quote me on this) but vuforia is solid with image / model based tracking.
2 : AR on iOS is most easily done using the native ARKit while AR on Android is most easily done using ARCore. A cross-platform is currently being developped and can be found here : https://github.com/Unity-Technologies/experimental-ARInterface.
However, none of those two can accurately track an individual(Like the kinect could), they mostly detect flat surfaces and references in space to track the device’s position.
3 : I didn’t experiment extensively enough with ARToolkit to precisely say what I can or can not do. Programming is essential in any case since AR is still bleeding edge tech and, AFAIK, no plugin/asset does everything for you.
If your not going to learn the programming language then no. It can’t be done.
If you learn unity and c# then it could be possible.
Arkit is markerless tracking. It will try to identify horizontal planes. Soon vertical I think.
That can be used to anchor something in the real world.
It also requires image data to be able to track the motion.
The typical use of ar right now is to place something in the real world.
It does not say track a persons hand. So yes if the hand was still you could place the object on it.
And if you move the camera it should stay there. But it will not track the hand if it moves.
Also all 3D objects render in front of the ar scene.
So your bracelet example would be almost impossible in the most useful case.
Maybe a few specific cases could you work out something.
You would need some kind of marker based tracking and depth sensing camera to really do it.
Think more like the Kinect or possibly iPhone x front face camera.
With the first question I meant the following. My nephew sells balcony railings. He wants to be able to go with his Ipad to the premises of a potential customer, look with the Ipad camera at the customer balcony and overlay the balcony with his own balcony product picture. So the customer has immediately a view of the balcony with the new railing.
Yes, that is something that can be done now. Because the place you put the object is not changing.
So you would let arkit find a plane / anchor. The ground for instance.
You could then load your balcony railing model. Adjust its position and then move the camera / phone around and it should stay at the correct position.
You would need an to write code etc, to adjust the railings parameters size, position etc.
The second thing I am not sure which if any Ipads support AR kit. You will have to check the specs.
IPad pros may support it and possibly the latest mini. But I don’t think the latest IPad do. I have an Air 2 and it does not
ARKit is no the only AR toolkit. I just have my experience currently with it.
Thanks daxiongmao!
I probably would have to program this with C#, right? There isn’t an easier way to program it? And do you know perhaps example code or code instructions on the Net?