technical architecture.

My mashup of Unity experiments (Hydra/Oculus Rift/Spatial Graffiti)

by on Apr.17, 2013, under Interactive, Oculus, Unity, Unity3D

AKA: Things I play with instead of sleeping, after my son goes to bed.

EDIT: hey there people coming from Bruces video! check out the newer version for a nicer demo: cheers! 😀


Architecture – an interactive basketball arena 3d scene to wander around. Loosely based off of a project that we didn’t get paid for, so, mileage ++!
Hydra – for movement, and glory!
Line work – Spatial Graffiti, draw lines in 3d space with the hydra, It’s more fun than you’d think.
Basketball – kinda. It wasn’t too exciting, so it’s more or less removed by now.

How it works:

  • Rift, head tracking turns the player’s viewpoint, it just works? Thanks oculus!
  • Hydra, unity integration is nice, thanks!
    • Base unit:
      • Leave yourself enough room between the unit and the monitors! NO MONITOR PUNCHING ON MY WATCH!
      • I’ve found it works best if you have the controllers ‘docked’ at game start. It just saves some configuration hassle.
      • Pick up the controllers from the base station, move them to a comfortable position closer to your body, about as far away from each other as they appear in the rift view, and click the ‘Start’ buttons (The vertical button between the 1 and the 2 buttons) to take control of the hands.


  • Right Hand:
    • Thumb stick turns the player body.
    • Button 1: Points the finger, begins drawing a line in 3d space.
    • While button 1 is down, how much the trigger is depressed controls the width of the line, up to a point.
    • button 4 will launch a basketball, holding the button adds power per frame, letting go fires it off.. I know I know, throwing motions.. soon.
  • Left Hand:
    • Thumb stick moves the players body
    • Button 2: Points the finger, Inserts a ‘move’ helper near the hand
    • While button 2 is down, hold the trigger down to ‘MOVE’ the player body in 3d space. The movement isn’t 1:1, so go gentle to start.. but everyone I’ve tried it on has been moving this thing almost as fast as you can move your arm within 30 seconds, with minimal icky stomach feels.
    • The icky stomach feels is one of the main things I would like some feedback on, so I can pursue or steer differently.


The main OVR menu scripts are in there, so if you manage to say, jump off of the world ‘by accident’ and look up at the things receding, you can hit the Right Shift key, and then Return to reset the scene.

Things I’m working on and experimenting with still

  • UI stereoficiation, NGUI draws well, but need something better than shooting a ray out for interaction. So far I don’t like the feel of the sixsense UI bits. working on some things here.
  • Networking. Multiple people in a small space drawing stuff, So far it works on lan, but who really has 2 rifts/hydras they can put in a room? I’ll figure it out!
  • Fly mode for the hydra, throttle style movement, basics started, but needs some tweaking before it’ll not make people feel strange.
  • 1:1 rotations, started, but I wanted some feedback on other stuff first!
  • Holding both bumpers will allow you to scale the player height/viewpoint up based on how close/far the ‘hands’ are from each other. nearly works, just a little too fall-thru-the-floory for my tastes to leave it enabled in this version.

I do architectural interactive/animation/work for a paycheck (haha, I know right!), so I spend a lot of time working with the fundamental problem of how to get non-game people empowered to get around in 3d space. I love toying with 3d spatial navigation systems, so being able to immerse in space with the Rift and prototype with the responsiveness of the hydra has been a lot of fun for me this week. There’s a lot more to play with here!

Most of my position/rotation stuff is made for placing items in the world, but the hydra tuscany demo covers a decent portion of the basics of that idea already. Besides, it was fun to mess with the player positions/orients, so that’s what I’m playing with so far.

So, if by chance you made it this far into my ramblings, here is the link to download the test app and give it a go!:

4 Comments for this entry

  • Libre

    Very, very cool. I spent an hour just doodling.

  • Dave Buchhofer

    Awesome, glad to hear it, I confess I did the same thing last night, instead of finishing off the hydra-rotations code in time to include in the demo hah.

  • Renee R. Patel

    By definining a 3d space with the Hydra controller, I can create a custom glFrustum and make it appear as if the monitor is a window into another dimension. Hoping to add some homebrew position head and hand tracking to the Oculus Rift.

  • Anil

    Very cool.

    Do you mind please sharing the model?

    I want to use it for a demo that I am doing. Will not be using it for commercial purposes.


Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!