Leap Motion 3D Jam & Stuff
This week has been busy and fun. I feel like I have all the pieces to finish VR Meteors. I just need to put them in place now. I have plenty of plans for extra features and some restructuring, which will wait until after I put the game out into the wild. Here’s a screenshot of the title screen to show that I’m super cereal.
Getting VR Meteors online will also free me up to work on a project for this month, which is the Leap Motion 3D Jam. I just got my Leap Motion controller this week and have a couple ideas that I’m going to try. I’ll have to see how well the controller works, and the best hand positions, before I can decide which one to develop.
For those who don’t know, the Leap Motion controller is a small device which houses an IR camera that tracks hand movements. This allows for interaction with 3D objects by moving your hands around in the air. Typically, you would place it on your desk and it would track your hands as you move them around above the device. However, for my interests, they have a mount that allows you to stick the camera on the front of a VR headset so that you can track your hands in a virtual environment.
Some other things that I’ve been working on this week are: menus, input, paths and splines, 3D text models, and various framework tasks.
For the menus, I’m trying to figure out how to separate the menu system and package it in a way that it’s easy to import into new projects. I drew a simple vector based frame to use for the various controls and have been working on setting up a template for the various UI elements in Unity so that the layout and sizing works the way that I want. I still have quite a bit of work to do before it’s truly flexible. Fortunately, VR Meteors is my primary development project, so it works for that.
I’ve also made a couple of screens for the Xbox 360 and OUYA gamepads that display the controllers and highlight the buttons when you press them. I’ll be putting this at the beginning of my games to try and remove the need for me to explain the controls to people when they try the games. Especially since I won’t be able to do that when people download them soon.
Wow, I don’t know exactly how Unity’s input system could be more cumbersome and less useful. Even if it didn’t exist, it would be more obvious from the beginning that you would want to write your own. I’ve been working on a new input manager to handle various controllers on all the platforms that I’m trying to support. Even the same controller on another platform has different button mappings, and the axis and button handling are separated seemingly arbitrarily. Fun times.
Since I’m primarily focused on VR using a gamepad, I haven’t yet tried to figure out how to handle keyboard, mouse, tilt, and touch controls. I’m sure that will be a whole new can of worms when I start working on some mobile app ideas.
Paths And Splines
When I was working on VR You Make Me Sick to go along with my talk last weekend, I wrote some simple path control code to make the targets move. I have now adapted that to move any transform in Unity along a path, circle, and now splines. I have a basic spline calculation that I came up with just playing around. I’m going to implement a proper Bézier Curve calculation as well, for more precise control. I’ve also learned how to use the gizmo system in Unity in the process, which will be handy.
3D Text Models
I learned how to create 3D text models in Blender, so I decided to use them as logos for now. I went to the Google Fonts site and downloaded a few different fonts that I felt fit the style of the games and modeled the titles to use for the title screens. I still need to figure out textures for them, but I think they’ll do the job until I can get some real art done.
That’s enough writing for now. I’ll be working on the finishing touches for VR Meteors this weekend and you should see it online next week sometime. Then I’ll get to work on the 3D Jam.