Learning VR (part 4)

November 28, 2016

It is going well, I continue to experiment in VR, and I got good results.
I am now able to do pretty much what I want, I'm only missing time!

The main idea ; to get a virtual desktop ; takes all its meaning when you are at the point where you can personalize your environment.
I added fake furniture: a desktop (a cube), a plant and a moving cat (it is pretty dumb for now / not animated at all and just following the pointer), but that proves my first thoughts.
VR has that advantage: you can make it yours without any limitation.
I am working in the middle of a night sky, with Mars in background, how cool is that?

Note: I am not a 3D artist, and I'm not focusing on the rendering aspect of this environment yet, in one word: it is ugly for now :)

* These models come from tf3dm.com

Main view from the desktop

Behind me there is Mars


I've been on twitter and posted a tweet!

Yay! the WebView is working, it is coming strait from Android (rendered in native Android code, it is a android.webkit.WebView instance).
In theory any view that comes from Android could be shown in my VR environment. It is quite cool!
You can navigate on the web, use the keyboard if needed (to tweet for example).

Working WebView in VR, you can get closer to see better

There are limitations, hardware accelerated views does not work, and also you can get only one view from android at a given time. I know that these problems are solvable, and I'm working on it, but it is not my priority anymore.
I have other VR experiment to test in this project, let's move on.

Talking about moving on, I added a way to move.
As you know I'm using a Daydream Cardboard, so there is no position tracking in space. I decided that it will be interesting to move around.
So now, when you point to the ground and push the main button, the camera (you) moves to this location. It is not teleportation, it moves quite slowly to the place you're pointing.

I also added gravity for most of the objects, including the cubes that you can play with.

Moving around

Grabbing cube on the way


What is needed

While I was experimenting, I felt the need to have a kind of "window" manager to move objects around, it is not windows that are present but more something like 3D boxes around these objects I guess. This implies many interesting things, like a notion of App, with state management (between restarts for example).
Each app could have a resize and a move action, and we could be able to see the virtual space that the App occupies in the environment.

Iteration are quite slow because each time the VR environment has to restart, and it takes ages. I must work on that problem too, if you have any idea let me know. To be honest, I think Unity software is a little buggy too and not that much ergonomic, sometime I'm losing time because of that too.

Beyond code

I also started to meet people that do VR too, some are already specialists, others are enthusiasts. We mostly got to the same point each time ; I will resume it for you too: I do not believe in VR, not in this form, but I'm quite sure it will evolve to AR. The technologies (on the software part) are similar, so it is like I'm anticipating and practicing this new area. Most people would agree about that. VR has too many ergonomic problems, AR theoretically allows to do VR anyway.

There are new trending topics, this time I learn about "spacial computing", and for me, it is just a way to talk about AR with a new buzzword.

Next steps

I need to clean the code, it is spaghetti code with lots of bizarre things. While cleaning, I will try to get the App concept in, or at least something like an interface to allows every App to inherit basic "window" management functionalities + state conservation.

At the end of this cleaning process, I should have multiple Apps, the list would be: - the Cat App (a cat moving around) - the Keyboard App - the Mars/Planet App - the WebView app - the Poster app (an App where you can put any image in) - the Plant app

Also, I really want to find a way to get body tracking, but I also want to stay on the Daydream platform to keep all this working wirelessly. I found that piece of hardware: VicoVR but for now my budget is too tight. You like what I do? You can sponsor me?

The future Cat App has to be more useful than that

View from far away

Note, don't be impressed about what you see here, anyone can achieve that. My job here is only to assemble existing technologies pieces in a meaning full way and deliver something quick. It is like Lego ©