We’re starting internal and private testing of VR preview 4 – if it goes well, we’ll release it early next week. A few notes on usability:

Have Your Mouse Cake and Eat It

We got a metric ton of “bug reports” that users couldn’t click “Disable VR” when using the 3-d mouse. I put bug reports in air quotes because disabling click zones on the main monitor when using the 3-d mouse was totally intentional! (In other words, I broke that button on purpose.) My thinking was that you might click on “Disable VR” by accident while in the headset because you don’t know what the 2-d mouse is hovering over while clicking.

In VR4, we have a solution to the problem of whether the 2-d or 3-d mouse is the “intended” cursor when a click happens: we read the headset’s “on the user’s head” sensor and disable the 3-d mouse (temporarily) when you take the headset off.  So you can be clicking in 3-d, take off the headset and immediately click “Disable VR” and we figure it out. This feature is great for developers who need quick access to 2-d debug tools like the texture browser or DataRef editor.

WMR Users: sorry, but I think this feature does not work with WMR headsets due to a bug in the WMR SteamVR drivers. When the drivers are fixed I think it will just work. The feature just works on the Vive.

Looking Around in VR

The first VR preview allowed you to move around you view with the thumb-stick in some views. This wasn’t the greatest decision on our part because the thumb-stick was also double-booked to teleport, causing some pretty weird and unexpected results.

For VR preview 2 and beyond, we changed the rules:

  • Thumb sticks are axes that are assigned to do stuff.
  • If you assign a thumb stick to “VR use” it can only be used for teleport and scrolling over laser-pointed UI.
  • Each thumb stick can be assigned separately if you use two VR controllers.

A bunch of users asked for move-around to come back to the thumb stick. As it turns out, it’s already possible, and the new way is better than the old way. Here’s the trick:

In VR2 and onward, there is a new axis type: custom commands. This option lets you assign two or four custom commands to be held down while the axis is moved to different ranges. With this feature, you can assign the view-move commands to the thumb stick of one of your controllers.  And if you use the 4-way command split (four commands per axis, eight total) you can even get low and high speed moving based on how far you push.

Non-VR users: you’re still reading this far down? Really? Well, this feature is actually good for everybody – you can split any axis into commands on any joystick, not just VR controllers. So if you have a fancy-pants $25,000 USB joystick with a bunch of extra thumb sticks or knobs, you now have flexibility to use them for new purposes.

What Can Plugins Do?

We are working on plugin API support for creating UI windows in VR – basically the kinds of things you can do with ground services will be possible with plugins too. Tyler will post more details, but the main idea is to not have to take the headset off to use plugin UI, etc.

This VR UI support for plugins will be limited and is absolutely not meant to make 3-d interact-able “things” like our iPad. We may add more powerful APIs later, but those will come after 11.20 ships, when we have a clear idea of what the interface should be. The same goes for direct data about the controllers, receiving 3-d events, etc. This stuff is still just a preview for us, so it’s too soon to make a stable API. We can do plugin windows because we’re basically taking your 2-d window and mapping it to 3-d.

The next preview also supports limited drawing that works in 3-d. If you draw using OpenGL in the phase-aircraft drawing callbacks, you’ll be called twice, once for each eye, with the appropriate DataRefs and matrices updated. If you are drawing OBJs, please prefer the new XPLMInstance API (you can use our sample code to emulate the new API on old versions of X-Plane if you need to support X-Plane 10). Unlike drawing from a drawing phase, the XPLMInstance API uses the true stereo-hardware-accelerated drawing path and is thus better performance. (In the long term we expect instancing to out-perform calling XPLMDrawObject.)

For 3-d interaction with aircraft, our advice for maximum compatibility is simple: use our manipulators, don’t create your own out of 2-d panel callbacks, hidden mouse windows, or any of the other techniques we’ve seen. Our manipulators provide maximum future compatibility for standard 2-d and 3-d gestures that users can expect to have work across aircraft.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

33 comments on “A Few Usability and 3rd Party VR Notes

  1. Just a cosmetics things:
    – Any chance you could do something with yoke colour when it’s latched ? all the time green just destroys the nice effect of being in real plane.
    – on FLAPS, whenever I use them, I have this little gradient indicators appearing, same like on other things. However on flaps it always stays after each use. so if I use flaps 4 times, I have 4 left and not despairing.
    – Any chance you could look into switching audio target on fly, like any other apps and games in windows 10? e.g I have auto switch to oculus headphones, but xplane won’t switch until I turn it off, switch in mixer and then start xplane.

    As I said. Little things. experience is still, amazing and I truly love the way you did all the controls.

    Best Regards
    Tom

    1. Flap line is a known bug – will be fixed before final.
      – Audio target is under investigation. Because plugins can just go make their own sound, us switching isn’t a universal solution – it might be that letting the HMD driver do it is better.

  2. Hello Ben!
    Good to hear about the update!

    Once I asked (if I remember correctly) if it will ever be a mouse cursor that sticks in 3d possition so when using headtracking devices the pointer would be stable in one place making interaction with the cockpit a lot easier than the actual 2D mouse pointer. I was told that that won’t happen.
    Now that 3D mouse actually do what I asked at that time (if the cursor is on the screen it will remain there even if you move the head a little).
    One question (semi feature request). Can me we (not VR user) get this kind of mouse 3d pointer behavior in non-VR flight? Once again, it would improve headtracking and using the mouse a lot!

    Thank you for hearing me and sorry for the bit of topic matter.

    Pablo.

    1. Hi Pablo,

      We have no plans to port the 3-d mouse behavior to use with 2-d display devices like your main monitor. Based on the behavior of the HMD and mouse, I think space-attached mouse on a 2-d monitor would be quite unusable.

      (It’s the automagic math your brain does to correct for your head’s own movement that makes the 3-d mouse in “world” space seem solid and not nuts…if you ever watch another use use the 3-d mouse by watching the companion window, their mouse movements make no sense.)

      cheers
      Ben

      1. 😀 It’s ok, will have to live with this…., but still it would be super for trackIR and other headtracking devices to have it (same way, with the enable/disable function like in VR).

        Other thing that could make mouse more usable for headtracking users, in my opinion, is that mouse pointer would stay (stick) at the clickable zone of the cockpit and release after the user moves the pointer far enough or fast enought. Lol, I’m a bit annoying, the goods of being on vacation.

        Sorry for the insistence.

        Thank you for your super fast answers and support!

        1. It’s not totally insane for TrackIR to try to sync the mouse to world space but it’s also not going to be nearly as good as VR since the HMD isn’t moving with your eyes (and thus in TrackIR, every head movement has to be balanced by a counter-direction eye movement.

  3. Hi Ben / Chris,

    Thanks for your fantastic progress with VR. Would just like to mention ‘lights draw distance’ #neverforget smilyface

    Kind Regards,

    Night flyers

  4. The 2d to 3d mouse transition is great idea.. BUT i would guess that most people flip the head set up onto their forehead when looking at the desktop monitor, rather than take it entirely off. will it work when the hmd is flipped up? Thanks.

    1. Depends on the HMD – it has a hardware sensor. I flip my headset up a LOT during dev and I can tell you that the _smallest_ movement of the HMD to just peak out from under it isn’t enough to reliably be “off”. (This is handy as a developer – otherwise it’d be hard to debug the 3-d mouse because it would go away every time I went for the debugger. 🙂 YMMV but depending on hair style and how much you move it, you might not get solid “off” and you’ll have to pick between changing how you take the HMD off and just binding toggle to a controller button.

    1. This ^^^ . I have some issues too.
      I’m now able to run it “smoothly” with mild screen hick-ups from time to time, but it requires multiple plugins to get it there. And it’s still not perfect.
      Before you ask:
      – i7 4.0
      – Geforce Titan X SC
      – 16GB ram

  5. Looks great future for xplane vr, just want to highlight one thing I’m experiencing right now,

    Xplane crashs if you move the thumb stick mid air during cruise, I’ve submitted many crash reports for the same , just add it to your fixs list

    Thanks

  6. Oh, please.
    Many people do not have VR and do not want to have VR.
    The simulator has a lot of shortcomings (degraded light poor daylight, sad colors, bad atc, bugs and more bugs, errors with the lights in the cities at night, clouds that emit light and thus could make an immense list)
    I have YouTube forums and channels where I am NOT recommending XP11.

    I wish I could, but you have to do your part a little bit at least.

    1. I can understand if VR isn’t your thing and therefore you personally don’t want to use it. But some of us do like VR quite a bit; it’s a lot of fun, and very immersive. Isn’t it OK for some of the team’s devs to work on VR and others on the kinds of issues you mentioned?

    2. I second that.
      New features are always good, but you should take care not to have too many open ends, and there are a lot of already.

    3. Oh please yourself. Any software will need improvements and right now there is heavy focus on VR because its brand new. Theres nothing game breaking in non-VR right now and you can rest assured they are always going to be updating the core sim. They have been working on improvements to x-plane for years and years.

      Stop threatening with youtube and just go flying to let off some steam. Adding more features is great for everyone regardless if you directly use it or not. Specifically, they stated this was the case as VR has put a higher importance on performance which is making them really try to squeeze out extra frames.

      Go do something else if you don’t like XP right now. So ungrateful.

    4. I do not have VR, but I think it’s a bit prudent to automatically assume the needs of every flight-simmer (or disguising your own opnions for the multitudes.)

      The fact is that VR is an emerging playstyle, and offers up new levels of simulation currently un-seen in our genre (possibility to walk-arounds, proper depth-perception, proper procedure training etc.

      Furthermore VR does act as a sort of ‘Benchmark’ for the platform in terms of performance. If you have to maintain 60-90 fps for a smooth vr experience, then Laminar are going to try and do everything in their power to do the underlying maintenance to the sim to get there.

      Whilst things like lighting, contrast and clouds are painful to see… all developer statements so far indicate that Laminar have a plan…the plan is working…and I have full trust in that plan. (Just looking at the remarkable difference from XP10 to XP11 is enough)

  7. Hi guys.

    I sent this as a suggestion to Randi also, but here it is again.. I am already using move left/right/forward/backward with the right thumbstick, and I have Reset VR View on my thumbstick button. BUT, you should implement “reset view without orientation”.. So in other words, after I have switched buttons on that far side of the cockpit, I should be able to swap back to seat without losing the orientation that I had previously set on the sim startup.

    1. Totally agree with the “Reset view without orientation” idea!
      As I suggested before, we could even have a “Reset in VR space”, where the initial definition (‘à la’ quick view programming) records at the same time the viewer’s position in the plane and the head position in the absolute VR space. The syncronization of VR space and simulator space would allow to sit down at the same place without trying to take the right posture with your body before calling the view reset, and to map some real objects to their VR counterparts.

  8. Lot of people are interested indeed. I personally use it for real training on the Cessna and it’s amazing. P3D native implementation of VR is very bad and personally would not recommend that simulator for this and a lot of other reasons (and I personally have it).

    The world doesn’t always revolve around us…get over it!

  9. Hi!
    Thanx again for great job! VR becomes more and more usable. Have just installed VR3 and find some annoying thing. Don’t know if it is bug or I missed something, so let me ask before reporting.
    When Im turning my head i see not just turning but turning with motion instead. Kind of strafe turning. eg, when I sit in c172 and turn my head to the left, my virtual face appears outside at the moment I look to the left flap. Or if I try to look up, my nose goes through the ceiling.
    In VR2 i had no such issues. Is it possible to fix some how or is it a bug?

    1. Is it possible you are accidentally zoomed in? I know sometimes I accidentally roll the scroll wheel and it causes the view to go crazy.

    2. It sounds like you’re just not seated (in 3D space in the sim) in the pilot’s seat properly. If you’re using the Oculus Rift, just press the “X” key. If you’re using something else, you can bind a joystick or keyboard key to the VR View Reset command or simple use it from the controller menu to put yourself back in the pilot seat. Make sure you’re looking FORWARD with a level head when you do it though.

      1. Thank you, Chris, but it does not help. I use Oculus. “X” key does something with smoke. “VR View Reset” just resets the view. I have also tried the touch controller to change the view to “yoke”. And I’ve noticed another thing. If I look down and turn my head left and right, blue circle is moving accordingly, but in VR2 it was kind of fixed, stayed the same place (around seat).
        And after updating to VR4 everything is fine again! No signs of strafe… What was that?
        Well, thank you for resolving the issue anyway 🙂

  10. Is there plans to add more features from the 2d map to the Xpad map in VR?

    If so any time frame?

    Thanks Bill

    1. Yes…I honestly spent ZERO time on that map. It was more of a proof of concept than anything else. I do want to make it a powerful tool for users but I can’t offer a time-frame. It’s certainly not going to hold up any releases.

  11. I still miss the way the thumb-sticks worked in VR1. I often “bump” the thumb-sticks, off-setting my views – usually at critical times like on approach. I prefer to “click” the thumb-sticks for the teleport and have the scroll view left as the “un-clicked” mode. In the pilot’s seat, this view scrolling is not active anyway and does not interfere with flight if I bump the sticks.

  12. ASW appears to be non-functional in VR4 for me. It did work via SteamVR in VR3 (albeit slowly) it now seems to be completely disabled. Frame rate is locking, but the rendering is very obviously not using ASW

  13. I’m very glad to read that the team now focuses on VR development. I look forward to enjoying X-Plane in VR!

Comments are closed.