Getting to grips with Unity & VR

At work, I have been tasked with investigating Virtual Reality and what can be done with it.  The results went in to a Lab Report to that was sent to the rest of the business.  When thinking about building any VR proof of concept (POC), Unity just makes sense due to how easy they make it to enable it (a single tick box).  Out of the box, they support the main headsets (Rift, GearVR, Vive) to a useable level.  All of my POC’s where targeted at the Samsung GearVR as currently that’s the only commercial headset available.  This does give you some challenges due to the lack of user interaction possible and performance.  That’s been my major struggle recently, gett the FPS up.

Unity do offer some very nice and pretty VR samples in the Asset store, its recommended for anyone to take a look at how they are put together.  They also show you have to pickup taps / swipes etc on the GearVR touch pad.

Another challenge I have faced with being a programmer, and not a designer is making stuff look awesome, luckily in the Lab we have someone who knows Unity a lot better than I do and has a eye for detail, which most developers lack.

All in all I have enjoyed learning Unity and hope to use it with some proper VR hardware (Vive / Rift), I also hope that if I do get to do a larger project in it, that I have a more powerful machine.  Even my fairly new MacBook Pro struggles with Unity.

I have also learned a lot about good but mainly bad uses of VR,  the key message here is, don’t use VR for everything, use it for its strengths

 

New year, new challenges

So, apologies for the lack of updates.  Work in the O2 Lab has been pretty busy in a fun way.  I also been doing a lot in the robotics area (see my youtube http://www.youtube.com/user/burf2000).

So, as for coding I have been working in Java/Android/Lejos when working on my LEGO robots, a lot of this I have opened sourced on GitHub.

As for non robotic stuff, I have been tasked with learning more about Virtual Reality and learning Unity (Best tool for the job), and I have to be honest, now that I have thrown some proper time at Unity, I really like it!  Virtual Reality is enabled by a tick box.

So I don’t have much to show yet but some cool VR stuff will be coming soon 🙂

 

Screen Shot 2016-01-20 at 09.50.19

Screen Shot 2016-01-20 at 10.41.43

 

 

GameJam : Friday 13th Unity Style!

So, a few of us gathered at Compsoft for another random GameJam, there was a theme but I don’t think anyone could remember what it was.  It was more of a hack some stuff together using Unity.  Now I am not the biggest fan of Unity, I love doing things the hard way, Unity seems to do too much for you, like Magic.

This time I focused on trying to get a simple example working for my Oculus Rift DK1 on a Mac, I thought this was going to be very hard.  I googled and saw Oculus’s new SDKs does not support OSX, I also saw very little mention of DK1.  I read about people hacking stuff together etc, things where not looking good.

However, the people at Unity rock, there was a simple tick box on the build settings for my project, that just made magic happen!  I had a simple 3D First person demo from the store, I ticked this box and BOOM, VR baby!.  I was actually blown away, to the point where I actually want to learn Unity!  I had a beautiful 3D Forest in VR without coding a single thing! (The demo of course had code but I had done nothing)

I couldn’t of made this by hand in a million years!  I then proceeded to add snow, a snowman and a elf!

Everyone has been telling me to use Unity, I think their right.  I just need to give in and learn it!

Xamarin : Results so far

So, I been playing with Xamarin on and off (damn meetings) and I am slowly getting to grips with it.  I am not a C# developer so while learning Xamarin, I am also learning C#!

I have to be honest, some things I have found a real struggle.  The Android part of my project just died, would not build for toffee, after many hours of search for info, even talking to Xamarin (work call), it turned out to be a corrupt package in a hidden directory.  To be fair, with every new tool, language you are going to learn these issues.

The other random issue which I have not solved is using OpenTk and OpenGL to render a cube on the screen.  This is completely shared code (WOOHOO) however iOS works, Android does not.  One thing I picked up from when speaking to Xamarin is that if any platform is going to break, its Android due to Google pushing updates.  I can respect that!  Android Studio 0.9 -> 1.0 broke every project for me.

The Show must go on!

I can see some real benefits from Xamarin, if I was a C# developer I would be in heaven!  I really want to see whats possible with Xamarin Forms, the holy grail of mobile development (Be warned its not!, its a good technology for a certain job, not all jobs).

In all honestly I don’t have much interest in Xamarin Native which is where you write C# code that directly binds to native Apple/Android Api’s.  I would prefer just to do it in Xcode / Android Studio.

Focus!

I think my personal focus for Xamarin is looking at cross-platform game development using MonoGame or OpenTK.OpenGL.  I either need to learn XNA for MonoGame 3D stuff or see how different the OpenGl is on OpenTK.  This however brings me to the question, why am I not using Unity3D?

My work focus is Xamarin Forms and working out how far you can go with them.  I have been told things like custom pins on a map is a no go on Forms.

I will keep you posted on what I discover!