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

 

VRUKFest : Judge and Panelist

So, I was very honoured to be invited to the VRUKFest in London last week as a panelist and judge due to me investigating Virtual Reality for O2.  People were very interested in how I thought O2 could use VR.  The event was amazing, I got to meet some of the industry leaders in VR (PlayStation, Rewind etc), hardware from HTC (Vive Pre), Wizdish (treadmill, Pacman in VR).  The VR Space is super exciting at the moment and is only going to get better!

vrfest

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!

New version of Virtual Worlds Submitted for Android

Just a small update, the following features, bugs have been fixed.

  • Added feature to turn VR mode off
  • Added feature so you no longer need a game controller
  • Fixed issue with be able to place objects in other peoples worlds
  • Fixed a few crashes!

Please check out

Virtual Worlds

Lets release pre-alpha software! Yeah

So, tonight I decided just to punt out Virtual Worlds.  Probably a silly move but nothing has been happening lately with it due to work stuff, a 3 week long cough, 2 birthdays, Christmas and home life!

I will soon know how bad it is!

I managed to do some useful bug fixes, tested it on a couple of controllers etc.  More will come soon!

What does it have?

  • Main world has little huts which is your door way to the other worlds
  • It has some built in help to tell you what buttons do what.
  • It has some nice new textures but sadly very limiting at the moment
  • You can see other players in the game, pretty poor graphics but that will be fixed very soon
  • You can create your own little minecraft type world 🙂 though very basic!

Whats next?

  • Once I see it in the Google Store, I will test it works 🙂 (releases always seem to cause some odd bug)
  • I need to add some more textures ASAP
  • A way for people to report bugs
  • A way for people to talk to each other!

Google Play Link

Virtual Worlds update 0.1

So, Virtual Worlds, hmm I had planned to release that by the end of the month however a few things have come up!  Man Flu has not helped me code, the snot just goes everywhere!

I have also had a few other things on!

Excuses over, where are we?

  • Started getting a better set of textures together thanks to Gary
  • Made a very rough simple player model which maybe be replaced by a OBJ file
  • Fixed lots of bugs
  • Created a control screen showing controls etc
  • Improved the navigation throughout the app
  • Implemented some speaking help notifications
  • Got Google Cloud Messaging working however not sure why I need it now.
  • Moved to Live server!

Left to do by 1st December

  • Improve player object
  • Finish texture pack off
  • Make scalable zone object
  • Fix any controller issues
  • Allow user interaction maybe using GCM
  • Allow players to fly in zones if they own them to help build them
  • TEST

Wish me luck!

Virtual Worlds : Progress so far

What? a? Virtual Worlds? What a sh*t name?  Your probably right but its just better than Android 3D mmo thingy!

Progress so far?  I would of liked to give it more time but some times I am not in the mood, sometimes I can’t get out of the mood which also leads to lack of sleep!  Last night I had beer! (not a usual thing sadly)

What can you do so far?

  • Register, login
  • Navigate the main world, which will allow you to enter player zones and create your own zones.
  • You can see other players (as cubes) move about
  • Once in your own zone, you can place cubes to make structures (see below) this has been vastly improved.
  • You can climb your structures to make bigger structures (I had to make a stair case to to make the archway)
  • You can enter delete mode in your zone and delete things with ease
  • Started adding back in the voice engine, sound effects etc
  • There are now system text messages to show you important information
  • Players and zones have text above them showing their username

device-2014-11-15-231021

 

 

 

 

 

 

 

Whats next

So to get it to the point where I can alpha test it I would like to do the follow

  • Create a 3D model for players as they are currently cubes
  • Make a 3D object for a zone, this should grow as the zone gets more popular / better in some way
  • Find a wider range of textures snow, grass, wood, etc
  • Create a control help screen to list gamepad controls
  • Make all commands voice activated (may get dropped)
  • Allow you to send messages to users (may be text or voice)
  • Create some sort of reason to play the game, prices, score boards etc.
  • Implement GCM (push notifications)

The aim is to have a demo zone thats setup for xmas when I release alpha:)

Off to bed!

Android OpenGL ES 2.0 : VBO’s for the win

I am currently working on an Android Virtual Reality framework, project, well not sure what it is.  I have been trying to get different types of objects to render, use different types of devices for control / movement and I did manage to release one game that uses it (I made this in a 12 hour GameJam).

Can’t Get Out

I have been looking at ways to improve performance, before any changes I could only render 1000 cubes at 1 FPS! Ar BALLS

I followed this post on StackOverFlow and that got me to about 5 FPS!

http://stackoverflow.com/questions/24825896/android-opengl-2-0-low-fps

I then read about using Vertex Buffer Objects (VBO’s) and followed this tutorial!

http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/

People, this is the way to go, I did not use Stride but I still got 64,000 cubes at 30fps!  Now that’s an improvement!

The sad thing is, this tutorial is from a book I own that I have still not read 🙁  Next missing, read the flipping book!

OpenGL ES 2 for Android: A Quick-Start Guide

 

 

New Android Project : VR 3D framework

So Virtual Reality has been one of my favourite subjects since I saw Lawnmover man as a kid.  I have made some very strange things in the past to try and make my own hardware / software for VR.  Oh boy where the Amiga days good fun!

So a few months ago, I made a simple split-screen 3D demo for iOS that used the Duo gamer controller, this can be found here:

https://github.com/burf2000/3DiOSDemo

I will be updating that soon to support normal iOS7 controllers so that Apple will accept it.  The Duo was added as a hack and never had a SDK 🙁

However,  due to the awesome news of Google Cardboard (VR via Cardboard!) and Oculus Rift working with Samsung to create a VR headset (uses your Note 4).  I thought it would be a good idea to start making my own one, similar to the iOS one but uses Android.

It can be found here:

https://github.com/burf2000/Android-3D-SplitScreen

I have just added support for the Moga game controller.

On a side note, this is worth a read

Getting VR to Run on Android Is “Hell,” Oculus’ Carmack Says