cancel
Showing results forΒ 
Search instead forΒ 
Did you mean:Β 

Hydra Spatial Graffiti and Navigation testbed

dbuck
Level 2
Hi there!

pardon the cross posting, throwing here and mtbs since there seems to be some differing crowds at each.

I've been working on a few experiments for the past couple days here in the 'nights and weekends' style, and am looking for some feedback!

Specifically, I've been experimenting with using the Hydra for some absolute/relative player positioning and navigation, with the idea that for architecture stuff, I really need solid abstract navigation tools to go along with the basic walking navigation. the main thing I'm finding is that for all of the people I've thrown in here, I have been finding that there has been a *VERY* low incidence of motion sickness (!!) even at very very high speed movements.

So far I've got Positional movement rigged on the Left hydra (button 2 + trigger), and some Line Drawing tools on the Right hydra (button 1). working on rotations and player scales now, but that seems to be a little trickier to tune, and I wanted some feedback sooner rather than later πŸ™‚

Detailed bloggy post:
http://buchhofer.com/2013/04/my-mashup-of-unity-experiments-hydraoculus-riftspatial-graffiti/
download link:
https://dl.dropboxusercontent.com/u/8000/2013-04-18-BuckHydraLines.zip 32mb
10 REPLIES 10

drash
Level 7
Haha, this is extremely addicting (and I don't have a Rift yet)! Very cool. I really like the absolute positioning to just go wherever you want to go immediately, and it's also fun being able to drop myself from a height. I figured out that holding right trigger while line-drawing made thicker lines. Good feature! Being able to draw in 3D is amazing.

Now here are some minor problems I observed:

    It wasn't immediately obvious to me that I had to unlock the hands via the Hydra start buttons, but I eventually figured it out.

    Occasionally after absolutely positioning myself into mid-air, I am no longer able to move around or fall via gravity (but I can still turn using right thumbstick).

    Basketballs fired from right button 4 are great but they get stuck in the hoops. πŸ˜›

    Will the drawn lines have enough depth when viewed with a Rift? There don't seem to be much in the way of depth cues other than subtle parallax from strafing without a Rift.



Keep us posted on this! πŸ™‚

-------------------------

EDIT: Just looked at your blog and found this:

"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."

I didn't do that at all, oops!

Also saw this:

"While button 1 is down, how much the trigger is depressed controls the width of the line, up to a point."

I'm surprised to see you mention the use of the trigger as if it were an input axis because SixenseInput.Controller's GetButton(SixenseButtons.TRIGGER) returns a boolean value! I was originally expecting it to return a float too, but maybe I missed something.
  • Titans of Space PLUS for Quest is now available on DrashVR.com

dbuck
Level 2
Thanks! It's not terribly clear for the depth of the lines, since they're self illuminated and drawn facing camera, you can definitely feel the parallax and the depth from the stereo vision much better in-rift tho while drawing, and while viewing from up close/inside/etc.. but it was cool enough, and seemed to get a good enough reaction in person that I wanted to play more!

the trigger has pressure sensitive property in the SixsenseInput that you can use to 'multiply' with. It didn't work as well as I was hoping, since the linework is all camera-facing quads, it looks neat when you are up close, but the further away you get the more it just turns into a large mass of white if the width is too high in-game. I may see what I can do about making it 3d tri/pipe or something in the future if I keep pursuing the drawing/line thing later.

/// <summary>
/// Value of trigger from released (0.0) to pressed (1.0).
/// </summary>
public float Trigger { get { return m_Trigger; } }

drash
Level 7
Very good to know, thank you! πŸ™‚
  • Titans of Space PLUS for Quest is now available on DrashVR.com

cybereality
Level 15
Looks cool, man!
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

Anonymous
Not applicable
very interesting demo, thanks for sharing.

just critiques: i find the controls a little more complex than they should be. why flip the analog sticks? also holding a button on the left wand and pulling on the other seems a little awkward. why not just pull the trigger to start the line?

the mechanism for moving is certainly interesting, especially for content creation tools. it seems quick and easy to wrap your head around. keep experimenting!

dbuck
Level 2
Hi Jayoh,
that seems to happen if you don't have the controllers docked at start, and click the trigger on the right stick before the left stick (?!) when it's expecting you to click the left then the right... I think. the controllers are in a Controllers[] array, and you access them with a 0 for right, and a 1 for left.. but that's not consistent alll the time apparently, and when it's not, you run into the effect you describe.

There definitely needs to be a better more standardized way to configure the hydras, after sitting here tonight at phillys dev night jam and trying to explain the controls to a few people who put the rift on before i could point to the buttons to press, lets just say it was a pain to explain what's what.

rambling train of thought follows:

I guess I should just adopt the same setup as the sixsense demo guys (Trigger near shoulder)

ORRR...

The need to define what is the left and right controllers seems strange to me. Thinking about it, you should be able to deduce that fact 99% of the time just by looking at the position of the controllers after activation.

given:
Controllers undocked, player picks up both controllers and activates them, couldn't you just find the position relative to the bases, with the assumption that the controllers will be above the base station at start almost all the time, and are going to be towards the player from the point of view of the base station, that and a little trig should net you the left/rights correct? as long as you have the users hit a button to 'take control' those pre-req's should fit?



or does the hydra not know which way is up? hmm.

dbuck
Level 2
"jayoh" wrote:
especially for content creation tools. it seems quick and easy to wrap your head around. keep experimenting!


yea, content creation and layout tools in 3d space is a lot of the 'work' work πŸ™‚ I like where it's headed, still needs a lot more experimenting though!

drash
Level 7
dbuck, I agree with you, the left/right thing is a problem is solvable and should be solved on its own without bogging down Hydra developers.

However, I could be wrong on this, but I believe the Sixense plugin for Unity already does figure out which controller is which, and this is why you can later query for the left controller or the right via enum. And, if it can't figure it out because they aren't docked, this is likely why the Sixense plugin asks the user to point one controller or the other at the base station and pull the trigger.
  • Titans of Space PLUS for Quest is now available on DrashVR.com

dbuck
Level 2
Yea, I need to look into it some more, odds are it's in there and I was just so excited to make a toy I didn't read well enough