Javascript in Unity for Oculus Rift - unity3d

I just want to know, can I use Javascript to program items and a virtual reality world in Unity so I can implement it into the Oculus Rift? I need to do it for a research project. I would try C++, but I am better with Javascript.

If you feel confident in JavaScript then you should have very little trouble moving to C# for Unity3D scripting. There is a plugin for Unity to use the Oculus Rift. #jahroy is correct in stating that C# documentation is expansive and most of it applies very well to Unity scripting.
Here is a link to a tutorial. One caveat, it requires Unity Pro (I don't have a DEV kit, so I haven't tried it personally). http://paddytherabbit.com/unity3d-oculus-rift-plugin-setup/
Good luck!

A-Frame is a JavaScript Virtual Reality Framework built on three.js, and has been gaining in popularity: https://aframe.io/docs/0.2.0/core/
I've not tried it yet, but it sounds like it integrates well with Oculus.

Related

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

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.

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

unity3D + kinect interection

guys i am working on a project which uses unity engien and kinect as input source ..now according to my knowledge there is not much support between unity and kinect sdk ..i have heard about zigfu framework but it is not giving me all functionalities i need..so what are options for me? im thinking to take some functionalities from zigfu and some from a background application build in .net 4.0 and using kinect official sdk ? can i connect to kinect via two interfaces at the same time? i.e zigfu and kinect sdk ....my background app will connect to unity via pipes ..is that agood option?
I've already done something similar. I'd like to use Unity 3D engine and do some interactions to animate the model using Kinect (Kinect SDK). Some functionality in Kinect SDK are not available in Zigfu, such as Hand Gripping detection.
Because Kinect SDK is suitable for WPF application, here is my solution :
Build your Unity into Unity Standalone (PC, Mac, Linux).
Create WPF application with Kinect stuff inside.
Add WindowsFormsHost inside your XAML of WPF application.
Embed your Unity Standalone into WPF using WindowsFormsHost.
To do a communication between WPF and Unity, you can use Raknet. It will work as socket does.
in my experience, its usually not a good idea to use "two of" something, when they both do the same thing. I've never heard of zigfu before, but it seems relatively easy to learn. Since its available as a unity plug in, it may be best to use that over kinect. The reason being that Unity isn't to "friendly" with third party applications.
If your aiming for XNA, its possible to convert easily if the plug-in doesn't already do it for you.
I Highly recommend looking over the unity forums, and the ZDK documentation.
http://forum.unity3d.com/threads/127924-Zigfu-dev-kit-for-Unity3D-Product-Launch

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).