Relative direction, discernable moves and HID-gamecontroller

KaterchenKaterchen Posts: 8
edited January 2014 in Omni SDK
Hey guys, new to this forum, already read a few threads, but a lot of questions remain open and I hope I can get someone from the devs to specifically answer them. I will try to make them as clear as possible.

1. Discernable moves: For a translation into keyboard commands, the Omni will have to have some kind of pattern recognition categorizing the sensory data into classes of movements which then trigger the appropriate keystrokes. The question that I have is: Which different recognizable patterns will be available? So far I would assume:

- Slow walk
- Run (probably as a shift modifier)
- Strafe left
- Strafe right
- Backwards walk (no run possible physiologically I guess)
- Jump
- Crouching (was announced, but I dont get how its supposed to work without a kinect)

Speaking of which. Will all those movements be possible (as claimed) without an additional camera device like the connect?

2. HID-Gamecontroller: It was announced, that the omni will be able to also generate analog data regarding movement directions, I would assume in 2 dimensions. Since that is exactly what a joystick/movementstick on a gamepad does and windows and linux can work excellently with 2 dimensional analog movement, I would ask if developers really need to make a native implementation of the Omni analog output for their games or if virtuix will provide a general driver translating those into standardize analog stick commands for a general gamecontroller.

3. Relative Direction: Leaving decoupled aiming/view aside (which really isn't virtuix' problem but rather another topic for companies developing VR-guns and tools, as well as game developers allowing the decoupling in the first place) aside. If one uses the keyboard translation, then it doesn't matter in which direction you run on the omni or in which direction you look, it only recognizes pattern independently of the direction. BUT: If you use the analog data of the omni for a game it is very important in which direction you move RELATIVELY to your current view direction. So here is the question. Does the Omni intercept the Oculus data stream to know in which direction the player is currently looking in order to know how to relatively move him in regards to his viewpoint? Because otherwise I don't see how this is supposed to work correctly. A more concrete example to clarify what I mean:

I start at 0° looking and standing in the same direction.
If I now look towards 30° and slowly start walking towards 0° then it is paramount for VR to work that within the game the analog 2d movement signal is that I am walking towards -30° relatively to my current view direction. I.e.: I am going forward while keeping my look sideways. That is correct! If the relative direction is not used I would look sideways, try to walk forward and in the game look towards my movemnt direction, which would not only induce instant motionsickness it would also break the virtual reality easily.

So here is the question. Will the analog data stream from the omni be given to the game relatively to the current view direction or absolutely? Because honestly, even though I like the omni we cannot expect many games to make a specific implementation for the omni data stream, in which case the whole possibilities of VR of this neat tool would go to waste, resulting in an overly complicated keyboard emulation controller.


  • sutekiBsutekiB Posts: 1,069
    Hi Katerchen, welcome to the forums!

    I'm afraid I can't answer all of those questions, as I'm not privy to the details, and I don't suppose we'll learn more until the new prototype has been unveiled but I can make a few guesses.

    1) Yes, I'm sure all those moves will be detectable. Crouching could be determined by positional tracking on the HMD, if not by some other method. No optical tracking required, it's all in the base.

    2) That's right, it can process analogue data - namely foot position, direction of travel and speed. I don't know whether it's possible to port that straight into a game without native support. Just having independent viewing and moving will make a huge difference though.

    3) I doubt the Omni captures Rift data to determine relative position. The point is to make them separate. As long as the Rift knows where you're looking at all times, and the Omni knows which way your lower body is facing, there won't be any confusion. You're right it's like two analogue sticks, and that might tell us how calibration works. You may have experienced this in some games. If you boot up with an analogue stick pushed off center, the game could start with that as the 'new center' so when you return it to its normal position (say you left the controller upside down and you've picked it back up) your character could start running or turning unintentionally. So, perhaps when you start a game you must face forward. Both inputs are then aligned, so there is a universal 'forward' - I may be wrong.

    The Omni is incredibly fun as it stands, even though you're currently limited to moving in one direction. Being able to move in any direction, with independent looking, is an experience I can't even imagine. Analogue speed and accuracy would take it to another level again - and that's when people's jaws will start dropping, if they're not already! :o
    Community Manager at Virtuix
  • Hi Suteki, thank you for the nice welcome.

    1) But can you even crouch while using the harness? I thought it would keep your waist more or less at ring level, a bit lower maybe.

    2) Yes, but the Omni doesn't have nearly as much backing and hype to it as the oculus rift. For the oculus rift you can expect most every suitable game to have native support by 2015 as big as the hype is, but barely any company will make the investment of explicitly implementing native Omni support. It would just be a little bit sad only to have discrete on-off keyboard states for most games, when the omni itself can so easily generate analog data. That is why I was asking about the HID-Gamecontroller translation.

    3) I understand what you mean, but the problem is that most games treat it in a way that is incompatible with the setup you mentioned. Just lets do the comparison:

    Gamecontroller. Stick one controls the camera, stick two controls the movement. If I tip stick one to look into another direction and afterwards tip stick two straight up I will be going forward into the new view direction.

    Rift+Omni. Lets say the Rift emulates stick one (fitted on an exact 360° turnaround) and the omni emulates stick two. If I tilt my head to the side, I will change the view direction, the game responds correctly. But If I know walk forward on the omni - basically emulating tipping stick number two straight up - The game would let me go straight into the direction where I am looking. But I am not walking where I am looking, in my head I am looking another way that I am walking, hence: Motionsickness and break of VR.

    That is why I sadi that in order for this to work and feel natural ie. to be able to keep looking to the side while moving forward, the omni gamecontroller would need to give a relative direction to the oculus rift rather than an absolute one for it to feel any natural.
  • Addition to 3: Another possibility would of course be if the game would only treat the directions as absolute to begin with but since that would feel utterly unnatural for any gamepad or joystick and there is no succesful device akin to the omni we also cannot expect any suitable number of games to have such an option.
  • Actually, now that I think about it ... I could write my own driver for it that intercepts both the oculus stream and the Omni stream to make the correct interpretation for an HID-Gamecontroller. Similarly to how Motionjoy emulates X-Box 360 or PS3 controllers for a lot of devices.
  • Honestly I am kind of surprised that no developer has answered to this thread. There has been no new topic in weeks, this is the official forum, there is 17 people in the team according to the recent newsletter and as far as the development is, all of these questions should have clear answers by now.
  • SuprM4nSuprM4n Posts: 81
    I wish I had some answers for you, but I'm just a lowly forum mod. v.v

    As for you not getting an answer yet, I'm sure that they have their plates full at CES right now. As for how it works, they may not be willing to divulge that info, however it seems to work from the many videos that I've seen so far.

    I do hope that they can get back to you soon, but if not maybe you could shoot a PM over to Dev_Guy_Robert. It might take a bit simply because he's busy as well with something to do with Steam Dev Day's coming up next week, but it's worth a shot.
    Props go to Plixity for the sig.
  • Hey Everyone - the short answer - we are working on these controls as part of the ramp up for the new Omni SDK.

    As you saw in the videos from CES, we took the new pressure sensor based prototype out for a test run :)

    We haven't had much time with the new sensor array just yet. Perhaps you saw the pic on our twitter feed (@VirtuixOmni)? Basically, for the CES demo, we replicated what we had already been able to create with the previous Kinect based version by emulating the keyboard. And now the fun begins... We will translate this information coming from the sensors into various discernible movements. Our list currently includes:
    - variable walk rate (from zero up to a full run)
    - variable turn rate based upon feet position
    - jump (resembling more of a hop on the Omni)

    Strafe won't end up being the same behavior currently used in games, it will end resembling more of a body turn, while stepping. What real world straffing resembles.

    Crouching won't be a part of the Omni SDK at this point. As mentioned, the harness / support system tends to make this difficult in the current setup.

    The view thru the head mounted display will be able to be disconnected from the motion of the player, providing even more options for gameplay. Walking in one direction, while looking in another. Will this cause nausea for the player? No, I don't believe so. Especially if you are physically moving in the same direction as your player in the game. This will take some tweaking though.

    As we build out the SDK, the player will be able to walk in a different direction from what he is looking. Will the direction of the player be relative or absolute? Well, I've actually heard it described in both manners. So, I would say, that as we get the algorithm figured out for turns over the next few weeks, I'll put together a detailed post about exactly what we will provide and how you can plan for your games. In addition, I will describe a suitable substitute controller setup for you to use, prior to actually receiving your Omni.

    My personal goal is to have the Omni SDK in a usable alpha state by GDC in March. A lot has to happen before then.

    If any of you are interested in being a part of our Omni SDK early release, please either send me a PM or email I'll be happy to add you to the list I will be communicating with while we continue to make progress in this area.

  • Hi!

    Thank you for the answer, I will be curious to see how it turns out and I will also send you a pm to be part of the Omni SDK early release.

    As for the motion sickness while walking. No, you do not get motion sickness by walking in one direction and looking in the other. You WILL get motion sickness easily though, if you walk straight forward, while looking to the side but have the game move you in your look direction rather than your walk direction. Keyboard-emulation with look<>movement-locked games is fine as long as you mostly keep looking in your walk direction. However having walk and look disconnected will prove both, to be more immersive and less prone to nausea as long as inputs are intrepreted correctly. Only thing I am worried about is, how well games may support that (though with the oculus coming up, it might get better quickly).

  • Completely agree @katerchen. Digging into the Oculus SDK a bit reveals that they have already planned for the disconnect. Part of their keyboard control schema incorporates "Q" & "E" for rotating the player left and right. Once VR gaming becomes more prevalent, I think we will see new player controllers being adopted for for games.
  • Hi again ^.^

    Yes, the current advancements are exciting and I am sure that (optional) movement/look disconnect ... or even movemen/look/aim disconnect (looking at the hydra controller there or the ones that are going to follow) will not only become popular in gamedevelopment but a necessity to keep up with other companies.

    But ... we would still miss out on some great older games, which do not incorporate any distinction. But even with games that treat the look direction as the 'forward' move direction the omni can work correctly, as long as it knows where the rift is looking at each moment an input is processed, simply by giving the relative direction as a move command for an analog-stick. What I am not sure of though, is, whether the current omni direction can be called with a driver api function or whether we would have to write a driver, that intercepts ALL oculus rift data, streams part of it towards the OMNI-HID-Gamecontroller emulator and at the same time provides another virtual RIFT device, which is then used by the game and receives the original RIFT Data stream that was intercepted. Might be ugly to implement but it would work for sure.
  • I really like that suggestion about outputting a relative direction to the rift's orientation... if that can work with minimal lag then it would be fantastic.

    It's a pretty simple concept as well and would allow for any game not made for the Omni to somewhat distinguish between looking and walking directions.

    It was unclear to me whether Dev_Guy_Robert confirmed this was being worked on or not? I know you are making it possible for a game designer to build a game with it implemented properly but could this be a feasible although not quite as good solution for games that are not?
Sign In or Register to comment.