Hololens


#1

Hi,

I just started to work on a personal mixed reality project using Hololens.
It’s a long term project,but I would like to prototype things fast to have a first idea…

For the moment, the only compatible engine with Hololens is Unity.
But I would like to find how to use my favorite multi-purpose toolkit in a way or another…


Here are the options:

The Hololens is a standalone computer, but it can use the computational power of a desktop PC with a GPU, communicating in Wifi, using Microsoft Holographic Remoting (a library available as a NuGet package)


This library could be a good candidate for the brand new VL Library Import feature?

A cool scenario would be: Hololens send the sensors data through wifi, VL display theses data into VVVV, VVVV calculates the texture using DX11, VL send the texture to Hololens.






Another option: Using Unity as the authoring and compiling tool, and VL for the logic parts.
As VL can show the C# code, and Unity uses C#…

I guess the goal of that “Decompiled IL Code” window is for this kind of scenario, isn’t it?
I’m not at all into code, and I suspect it can’t be as simple as a copy/paste…






Another option: using Unity and VVVV/VL remotely (using ZeroMQ or OSC?).
For sure the most realistic option.

Problem in that case is synchronization between apps.
For example, calculating the transformations of an object using VVVV, sending the position data to Unity, and sending the texture from Unity to Hololens (via Holographic Remoting).
The mainloops not being synced could lead to artifacts like stutter…







Not an option for now, but a question for the future:

To be able to run on Hololens, an app should be an UWP app.
Could the VL standalone app be UWP compatible at some point?





I will investigate more about these hypothetical workflows, I just wanted your expertise about what’s easy, what’s possible with a huge amount of work, what’s totally impossible, and what’s would be possible in the future.


#2

hei ludnny, good find, thanks for posting this!

unfortunately the library is not a manage/.NET library, meaning it cannot simply be dropped into vl. should still be possible to use it, but with much more effort involved…

am afraid not. the code window is really only there for debugging purposes. it creates rather ugly code not intended to be used anywhere else.

yes. we haven’t investigated this at all yet, but vl is .NET and .NET can build to UWP, so this should at some point be possible.

keep us posted with your findings! anyone else with experience using this?


#3

Thanks @joreg for the answers.

So I decided to give a try to Unity, as it has a native support for Hololens.
I tried the Holographic Remoting in Unity (driving the Hololens with a desktop pc using wifi).
And from my experience, it’s not usable, laggy, the tracking doesn’t work very well, compared to how the experience is fluid when only the Hololens is involved.
It’s only interesting for fast debuging purposes (so you can avoid the long minutes of compiling/deploy to hololens).
I say “from my experience”, because I suspect my equipment to be the cause of that. (maybe the wifi router or something with my Unity version…)
Has anyone tried here?

So I had to abandon vvvv/vl for Hololens coding. Not an easy decision!

I had spent two weeks learning VL before, and now I just spent two weeks learning Unity/C# scripting.
I discovered that these two different universes are totaly complementary.
Unity has everything I missed in VVVV/VL: an incredibly convenient asset manager, a scene explorer with gizmos, the “GameObjects” and their components, the ability to export an app…

But when you have to start coding, VVVV/VL are so much easier and confortable…

The good news is VL helped me a lot to understand C#. Honestly, I don’t know if I would have jumped into Classes, Datatypes, Delegates, if I hadn’t see it working graphicaly in VL before.
Each time I have to code the simplest thing, I start doing it in VVVV/VL, and after I translate it to textual code.
It’s frustrating to have to do things twice in different languages, but it’s the fastest workflow I found so far.
Sometimes, it’s easy because a lot of thing in vl are “open source” (e.g. the Map node), so you can recreate it in another language.
Sometimes, it’s “closed source” (e.g. the damper node), so I have to find another solution.
If I remember correctly, VL nodes could be open source in the future?
Could be very convenient when you use VVVV/VL as a prototyping software…

And more than a standalone version, what I would looking forward the most is the ability of integrating VL in these kind of environnements (Unity, but also other softwares like C4D or After Effect)

We would have the best of both worlds…


#4

exactly. the idea here is, that when we give you the export feature you’ll not only be able to export an .exe but also a .dll which you can then use to access the things you patched in other .net environments, like unity. we haven’t tried that yet to see what limitations this has. but thats the idea.

yes, all of the vl library will be open at some point.


#5

can’t wait :)