technical architecture.

Virtual Reality with Hydra, now with Swords, Swarms, and Webcams!

by on Apr.21, 2013, under Architecture, Interactive, Oculus, Unity3D

EDIT 6: 5-12 Version:

  • Added in option for making the hydra controller forward be the look direction.
  • Added some basic swarming boxes/drones in to the scene, and a sword to play with to beat said swarm up. you’ll find options on the wall menu to enable the sword, add or remove from the swarm, and kill them all.
  • Added a webcam plane to the scene, and also one to the corner of the player camera for use as a ‘hud’ with head mounted cameras.. It might be interesting with a wide angle lens, but my webcam was pretty boring! It is neat to see the video playback ‘huge’ on the wall though. that was nicer quality than I thought it would be.
  • It can come in handy when setting yourself up with the Hydra as head tracking gig if you have an ourward facing camera on the laptop like I do.
  • Re-arranged the hand hierarchy so we can grab/move/throw things with both hands now, which should lead to scaling objects shortly.

“Dad, are you making this stuff? You gonna be wacking the things? It is fun to play with” – My 6 year old, after smacking swarmed boxes, and throwing cubes at the webcam picture of my face for 5 minutes and giggling uncontrollably.

Just updated the contents of the ZIP, same download link:  Download HERE

It’s about time to do another video soon, sorry I haven’t yet, video recording is not nearly as much fun as working on random things! 🙂



EDIT5: 5-8 Version:

  • Added this ‘Hydra as positional head tracking‘ thing that everyone is talking about, there’s a button on the wall to enable it, just attach the hydra to your head somehow, then hit the button for fun and profit.
  • There’s a light saber here, It doesn’t really do anything yet, but I’m sure you can see where this must go (Especially if you can ‘dodge’ someone elses attack.. *wink*
  • You can throw the player now with the LeftButton2, not for the faint of heart, but kinda fun.
  • Did some experimenting with a large particle system, basically a a point cloud from microsoft ImageSynth, experiment failed when you can’t stop the particle system from blinking out of existence when it falls out of your camera frustrum, making it pointless to try and have a huge (in world scale) particle system, It still looks pretty RAD, as long as you keep the rough center of the system in camera, you can check it out by hitting right Shift key, then selecting Cloud from the scenes menu
  • Disabled the ‘Gaze Look’ when there is no rift attached as it doesn’t make sense in HydraOnly modes
  • fixed a case where the camera direction could end up NaN and the world goes black. (sounds ominous no?)


Download HERE


EDIT3: Met up with Ben Lang the other day to geek out and view all the latest community demos, He did a nice write up and video of my toys: you should read it


EDIT2: I’m throwing an update out here with a bunch of new stuff, mostly aimed at making it easier to get someone up and running than explaining 40 button combinations!

  • Smoothed out the startup process of configuring the HYDRA some.
  • Integrated a UI system with the hydra hands! there are Context menu items on wrist menu, floating buttons in the world space, and menu/toolbars that are in the player space
  • the BUMPER button on the controllers is the equivalent of mouse click
  • the pointer finger on the hands is the equivalent of the mouse position
  • right now there is a shortcut on Right-3 to show/hide a radial menu with a few toys in there. (Looking down there is a button near your feet to do the same thing
  • Scale the world (bit buggy and slow, but an interesting effect to change the world scale to giant (Try throwing one of the blocks when it is the size of a house for instance..)
  • Change the color of the lines that you can draw using the Right-1
  • The RightTrigger will pick things up, you can now throw them
  • The LeftTrigger will copy objects..
  • There is a right wrist menu (eh..) If you are holding an object with the right hand, you can move your left hand over your wrist to pop up a context menu to toggle gravity on that object, delete object, or copy object
  • there is a ‘delete last 5 copied objects’ button out on one of the walls incase you copy a million things and it starts to get slow (There is no optimization in here yet, it’s just a clusterfuck of a playground’
  • There is a ‘GAZE STEERING’ thing which somewhat works, there is a button on the wall to show the colliders used for that, which will pretty much explain it better than words.. but basically, if you look ~90 degrees to the right, it will rotate your body slowly to the right.

New download link: Download HERE

Got a chance to do a little more work on my prototype, It’s shaping up to be a lot of fun to mess with. There’s still a ways to go before it ends up like that ol world building video everyone’s seen, but It’s coming along nicely!

I squashed a lot of bugs, made the base environment faster, and I found a few more fun things that I think everyone should try~!



Download HERE

first video capture! It’s come a long way since this already.

General control theme: Right hand to interact with scene, Left hand to modify how we interact.

Neat notes and changes from the previous version:

  • You can now grab objects with the [Right Trigger]
  • objects that you can drag also affect the player, so for instance, Grab one of the Blue platforms, and stand on it.. now lift up your hand.. but not tooo far! now that you’ve got floating down, use the [LeftThumbstick] to add forward. and you can also use the [RightThumbstick] to rotate.. BANG! Accidental magic carpet/hoverboard/flying effect. – We could probably do with simplifying the controls some, but this sort of happened by accident with the stuff I was making!
  • While you are moving objects, you can ‘Clone’ them with the [Left Trigger]
  • you can also ‘Toggle gravity’ on them using the [Left Button 1]
  • you can also ‘Delete’ them with the [Right Wrist Menu]
  • It’s possible to create pretty neat mousetrap type things with just the cubes/platforms and basketballs.
  • most of the scene is now grabbable/movable… try raising the roof! you can really make a good old mess here, and it’s a lot more fun than I was expecting to take apart a building. I think it’ll be even more fun when we can put the scenes together. (SOOOON)
    • some of the higher res bits you may not want to clone too many times, like the basketball hoop.. It’s not a very optimized model right now, so each copy adds a lot of draw calls.
  • You can still draw lines with the [RightButton1]
  • You can still ‘shoot’ balls with the [RightButton4]
  • You can still free move the player with the [LeftButton2]

17 Comments for this entry

  • Libre

    It’s amazing how fun this is. I built a sky-platform and was working on a ramp up to it before the drift got too bad. Do you notice that “forward” drifts to the left over time? It’d be awesome to have some way to reset dead center and manually correct for drift.

    Thanks for sharing this!


    Yeah, nice to get an update notice. ^_^

  • Dave Buchhofer

    It is! I’m wicked excited.

    It’s interesting that you also drift left. I had wondered if there was a method to that. I’ll add a ‘reset’ soon. Supposedly oculus is working on an update to integrate the magnetometer into the tracking sensor. That will give us a dead reckoning and get rid of the yaw drift for the head mount. I’m not sure yet if the hydras have drift themselves?

    There’s sooo many things I want to add, and so little time! I need to kill off some of this contract work at work so I can work on it in working hours!

  • Gong geer

    Really the best demo here!!

  • WormSlayer

    I do love this sandbox/demo!

    Any way we can grab and move the 3d line drawings?

  • Dave Buchhofer

    not yet, I’ve been trying to think of a good way to do that. seems tricky/bad for performance to create that many colliders

    thinking I might be able to test on positions, but that ends up with me tracking a ton of things.. that scope creeps out pretty quickly on paper.

    edit: fixed phone spelling.

  • Gong geer

    Really nice work.the best so far among the others!
    Love your work man!

  • ryan

    Is there anyone else having trouble with the selectors on the radial menu or any over in game buttons. The bumper won’t select any of the buttons no matter where my hand is. Just wondering if its just me. Everything else works great though. Its a lot of fun and looks great, thank you.

  • WiredEarp

    This is in the top 3 OR demo’s of all the ones I’ve tried.

    I rate this, First Law, and Heli Island as the top ones. Sixense Tuscany is good as well, but I prefer the movement system in this one. LOVE the ‘drawing with line’ bit!

  • Dave Buchhofer

    Had a pair of people say this on the reddit thread, it seems to be the non-rift fallback is broken, ill put a fix out shortly.

  • pitrz

    Hey, AWESOME stuff. When i got the Rift, it was cool but the controls on gamepad / mouse+keyboard were usually awkward and blew the experience. I modified a lot of the demos out there to work with a pair of Spacepoint fusion trackers and it was a lot better.
    After seeing the sixsense tuscany demo, i decided to get the Hydra. I was blown away by how well the Hydra works. Being a 8+ years VR hobbyist who basically gave up 3 years ago, i have built a lot of weird contraptions, i was totally amazed by the fact that this cheap thing actually does position tracking very well.

    Right after i got it i downloaded the SDK and started tinkering. Well today i have tried your demo for the first time and i gotta tell you, the steps i have taken and things i have tried look eerily similar like your sandbox.
    But i never got time to get that many ideas in and more and more pop up every day 🙂

    Thanks for this, had a really good time playing around with your demo and testing your concepts.

    Ps.: This thing BEGS for multiuser. After 10 minutes or so inside i felt i really want to share this experience and build something cooperatively…”Hey, take that podium and put it here. Lets build massive stairs”

    Pps.: Oh yeah and the Oculus drift kinda sucks… interestingly enough, i have never noticed it before playing your demo.

  • Dave Buchhofer

    Glad you like it, It’s something of a random test world right now. I’m not sure how much further I’m going to push this one, so far it’s all fun.

    Re: Drift; Funny you say that, I’m wondering what the deal is with drift lately, I don’t notice much drift at all here. I know there is support for the magnetometer now, but it’s not the most straightforward thing to set up. I’ll look into it soon! ‘for fun’ working time has been shrinking again.

    There’s a ton of interesting interaction ideas to try out, Right now I’m reading up on a lot of the past developments over time in the 3DUI community to try not to duplicate too much work! also sketching out and protoyping things that are a bit more gamelike that might be interesting also!

  • pitrz

    Re: 3DUI, again, something i have been too revisiting lately.
    I saw the Sixsense MakeVR demo and somehow felt that it was not that impressive and that they could have done better. Especially i felt that the controls in the video feel somewhat generic. The Razer has plenty of buttons to make the controls really slick, fun and accurate at the same time. Over the last weekend i have created a few drafts on paper for a better control scheme, but did not got time to try those out yet.
    I have spent quite a lot of time with these things back in the day, and i think in the end the hardest thing to pull off was some usable representation of information in virtual environments. And by usable i mean a type of visualization representation where one does actually benefit from working in a virtual environment.
    This used to be a source of lot of ideas i was trying out.
    For a more fun and recent example this:

  • Ben Robertson

    Very impressive, just had the rift for three days, keep up the good work! looking forward to the point that I can spen longer period of time in VR with out queezness kicking in.

  • Clyde

    Hi there,

    This is amazing work! I’m currently also struggling with getting NGUI to work in 3D-Scene, using the Durovis Dive SDK. How do you set up your NGUI Root? Because for me, the root Panel dimensions is always getting way out of bonds if im trying. Could you maybe share your UI hierarchy setup with me?

    Thanks alot!

  • Kary Ritter

    I am graduate student at the University of Louisiana and we are working on an educational project in Unity using Oculus and Razer Hydra. Currently working on a menu system that looks correct in the Oculus. Would it be possible to share your project folder with the sandbox demo?

  • Minh

    I am graduate student at the University of Transpot. How do you set up your NGUI Root? Could you maybe share your UI hierarchy setup with me?
    best responsive video themes

2 Trackbacks / Pingbacks for this entry

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!