How to create Augmented Reality Web app using Unity & Vuforia? - unity3d

I am developing an Augmented Reality app to be integrated into a website using Unity.I need to take output in WebGL. I am using Vuforia to create AR experience. Since Vuforia is not supported with WebGL, i am not able to build. Please suggest an alternate method or how to do Augmented reality in Unity for Web. Is there any alternative to Vuforia?

The good news is yes, you definitely can build an AR experience on the web!
The bad news is that none of the current libraries built for doing so offer a Unity plugin.. Meaning you'll either have to create a wrapper, do some complicated RPC call to talk to the JS library via Unity, or completely scrap Unity altogether and use only the library. To my knowledge, the best browser-based AR library is AR.js. I know this isn't the answer you were hoping for, but I hope you're able to achieve your goals. Good luck!

This is probably a bit late in the thread. But I'd like to add an option which might help. You can definitely build your AR app in web using WebGL as output. There is easy way to integrate it with a webiste too. SLAM based AR like Google ARCore is a great example to do it.
There are two options:
You can build such an app from scratch which will obviously take more time. Because apart from development, setting up hosting infrastructure is a challenge.
Otherwise, if you want to scale such AR web app development with low or no code and cloud ready hosting, you can use a SaaS platform called Marvin XR.
You can login and try it out for FREE: https://www.marvinxr.com:8443
Hope this helps the other folks who stumble upon this thread.

Related

Hololens applications using WebGL / ThreeJS

I've got a WebGL application built with JavaScript and ThreeJS. I was able to enable WebVR somewhat easily to create a immersive environment. I think my app is a better use case for mixed-reality/AR. Hololens seems to be the big player in that hardware space.
As I look at the development tools around Hololens its pretty much Unity and C#. Both great tools but as I start developing in this closed environment I kinda feel like I'm building a Silverlight application.
I've been trying to figure out if there is a trick I can accomplish to create a immersive experience with my WebGL app. I know that I can use Edge browser, however, thats a flat experience which is not any value to this use case.
I've found a few links:
is-it-possible-to-use-webgl-with-hololens-repost
can-i-make-a-universal-app-using-html-that-runs-on-hololens
augmented reality with awe.js
All these seem to either be 2d experiences or 'fake' AR using cameras and WebVR. Furthermore, I also looked into porting my WebGL app to Unity using Unity's JavaScript language features to find out that it is really a subset fork of actual JavaScript ( known as UnityScript ) making it way more effort than its worth.
Given all this, I'm wondering if its even possible to accomplish the feat and if anyone knows if this is something on the roadmap for microsoft?
There's this new tool from Microsoft called HoloJS. It's a framework for creating holographic apps using JavaScript and WebGL.
holographicjs is a C++ Windows Runtime Component for hosting Windows Holographic apps built with Javascript and WebGL.
Its interesting and a huge hack but might be a good first start for the community!
Note: Answer based on:
I do not know what Microsoft roadmap plans are or will be
The actual easy-way to develop for hololens is using VS and Unity3D (so, maybe there is a way of developing using WebGl but as you can see, is not the easy-direct and supported way).
My answer: Taking into account that is a new product with no direct competence, they will not move forward offering other platforms unless they are forced to. Meanwhile they are happy that you use C#, Visual Studio, .Net, Edge and Windows and Unity3d under Windows (hard to believe to me you can do this using Unity3d at MacOS or Linux). It's also normal that they offer a limited ecosystem at the moment, with the same excuse: it is new, so limited support due to stability and optimal concerns is available just in their more familiar context: Microsoft products.
But as soon as new device come in and start offering new things (support for programing languages, OS or web) you should be completely sure that they will evolve or die.

Augmented Reality Desktop Application using Unity

Can we create an augmented reality desktop application using unity which can convert all images from a school textbook into 3D objects. ? If yes, then what will be the procedure and what other tools do we need. ? It is our final year project and we really need help in this.
If watermark will not be an issue than you can use Vuforia library.
https://developer.vuforia.com/
It has nice unity integration and you can archive what you are up to in almost no time :). But it is not supporting desktop build out of the box, but below you have alternative libraries that do:
http://artoolkit.org/download-artoolkit-sdk#unity
http://www.easyar.com/view/download.html
I can't say how good they are because I have never used them.
You can try artoolkit, stable and simple. Easyar is good but a little young.
I recommend using ARToolKit. You can target OSX, Windows and Linux if you need to. Also using the Unity plugin it should be easy for you to get started.
And if you decide to go on mobile later it also has support for iOS and Android.
http://artoolkit.org/download-artoolkit-sdk
(Scroll down for Unity version)
Edit:
They also have an active forum where you can ask questions and find help if you have the need:
http://artoolkit.org/community/forums/
Best

Vision based Augmented Reality Objective-C library

I'm looking for an Objective-C library / or just help in building a vision-based augmented reality application that does not rely on visual markers.
Qualcomm's is perfect, but only on Android (iOS is coming, but not soon enough). Any body know any other similar libraries?
QCAR for iOS has recently been released into public beta.
The only one I'm aware of is String, and I've become aware of that only via this iPhone + Kinect AR video (YouTube link) that recently did the rounds. So I've no direct experience of using it and no opinion on it, but I nevertheless think it qualifies as an answer to your question. It's commercial, but I think Qualcomm's is too.
Benjamin Loulier created a VRToolKit sample application for the iPhone that is based on the ARToolKitPlus framework. This sample uses the framework to track specific markers within the environment and allows you to overlay objects on them. I've seen some even more impressive demonstrations of this framework for using the camera to augment reality.
However, the ARToolKit framework (the parent of ARToolKitPlus) is by default available under the GPL license, which generally makes it incompatible with the App Store (and with commercial applications in general). You can purchase a commercial-use license for this framework from ARToolworks, if you need to use this within a non-GPL application.
Additionally, you might look into OpenCV for recognizing and tracking features in the environment. I've heard reports of people getting fairly decent performance out of it on iOS devices, even for more complex operations.
I've done some limited work myself in processing the video from the iPhone camera using the GPU, but nothing like what ARToolKit or OpenCV provides.
Have you looked at Aurasma http://www.aurasma.com/? They let you build custom apps with their system, which might suit your needs.

Game development using Unity for iPhone

I have decided to use the game engine Unity to develop my game for iPhone. But I need to use some functions built into the iOS SDK.
If I choose to develop using Unity, can I still use functions from the standard iOS SDK? Like functions to access a url, etc...
When you compile a Unity project for iOS it takes your C# or JavaScript code and AOT compiles it to a native dll. It then creates an xcode project which loads that dll. You can add native objectiveC, or C/C++ functions to this project and expose them for calling from the Unity engine.
http://unity3d.com/support/documentation/Manual/Plugins.html
Unity also has built-in methods for accessing URLs.
I don't know how the Unity SDK is built, but if it's a static Objective-C library then you can access iOS SDK functions without any problems. If its a script engine where you develop your scripts outside the IDE then you may not access iOS function.
Have you checked other engines/sdk's for your game development? I know that Cocos2D is well documented and I know for sure that you can call iOS methods.
Good luck!
I used both unity3d and corona which are very good at their field, and yes you can use all standart SDK over them, sometimes you need to do tricks though (which is quite a pain). If you are developing a 3d game and familiar with NVIDIA PhysX engine go for unity, it gives you nice features. But if you are clueless about collasions/rigidbodies/ragdolls etc you would have a hard time for sure.
As for 2d application development since I don't like Objective-C I prefer corona which you code in lua (easy to learn and use). You can use most of the IOS SDK in it without any problem.
I really reccomend you starting with Unity, it is the best engine I have ever used (I have used a ton of bad engines).
Unity is the best place to start and to stay. Coding, graphics and everything is simple to manage in this engine.
Unity is specially 3d but you can also build 2d games, some examples are Zombieville and OMG Pirates (very succesfull games on the appstore).

Can you run a blender game on an iphone or droid?

I have an iPhone and am getting the Droid and was wondering if blender games can run on either of them. I have already made a game and want to be able to use it on my phone.
****UPDATE****
I was wrong, just recently android support has been added but it's brand spanking new so just know that android support would be considered beta quality if that, perhaps even alpha.
I can't believe no one has given this answer:
http://code.google.com/p/gamekit/
Supports the logic bricks/python scripts etc so basically you can just load up your packaged blend file and you're good to go.
there is actually a book on how to integrate blender into a iphone game development workflow. it uses sio2 for the game engine on the iphone. it might be worth to give it a shot.