Wednesday, 13 October 2010

More HUD readability

First of all, a sincere thanks for the feedback. It's not something to get too hung up about and it's easy to get the idea that we spend hours and hours on making HUDs pretty colours without getting anything else done. Yesterday was pretty intensive in terms of tweaks and adjustments to the HUD but not just in terms of colours.

We've added clipping regions (using glScissor() ) so items like the pitch ladder no longer intrude into areas it shouldn't, this declutters and improves overall readability. Also the acceleration cues are no longer available on the CRUISE mode symbology, again reducing clutter.

And the biggest headache which I'll come to in detail has been the flight path vector, that little circle with the stokes at  3, 9 and 12 o'clock. It presented a problem I hadn't anticipated. It's also difficult to explain but I'll try and sum it up.

The idea is that the FPV is drawn in the the direction you're moving, so if you are moving directly forwards it's in front of you. If you are performing a perfect sideways slip to the left, if you turned your head to look along your left shoulder you would see the marker in front of you.

The HMD or HUD represents a 30x40 degree field of view. However, the default field of view for the main 3D view at a resolution of 1024x768 is 90 degrees. The HUDs default scale is 512x512 and would need to map virtual symbols to a 45 degree field of view (512 being half of this example full screen resolution).

Now, if you have a much larger screen resolution, say with a super-wide monitor, or tripplehead (worst case) you're horizontal resolution can be around 3840 pixels across, the game FOV might be 120' and therefore to match the 3D world, the HUD symbology has a field of view as little as 16 degrees. That's tiny.

The result would have the flight path marker moving the HUD really quickly since it covers a smaller relative area. This would suck if you really needed it.

You can't scale the HUD to match the screen resolution as you loose the top and bottom off the screen. Well, answers on a postcard please. Chewing this one over.

4 comments:

  1. i understand your dilemma, is there away to limit HUD size, i mean even if you have a large screen HUD doesn't have to match screen resolution, only enough so top and bottom of screen would show.

    yes?

    ReplyDelete
  2. Well yes you could clamp the max size but that wouldn't solve anything.

    It's really a matter of live with a non-100% realstic FOV for some symbology and PNVS or adopt a non-accurate scaled movement of same symbology. Unless there's some other solutions that escapes me. It's just down to how it's rendered to a monitor.

    A real HMD sits in front of your eye and the size of real world doesn't change. This is just a game translation issue.

    What I have works ok, but it's optimal for resolutions just above 1024.

    There's a cheat, but it means not constraining those elements to the HMD area, scale the PNVS video image so it's an accurate size but doesn't fit the HMD exactly. Otherwise tripphead users are going to be looking at the world in keyhole vision.

    It might not be too bad, not having all my gear up and running yet it's hard to say.

    ReplyDelete
  3. Maybe I don't understand the issue, but I think the HUD FOV should not be related to the screen FOV, even with a 360 degree monitor setup (hypothetically), which would require an enormous HUD, your eyes still have the same FOV.
    If I setup three monitors I still have to look to the left to see what's on the left monitor, and same for the right.
    Maybe this helps?

    I'm quietly following this project btw, with a lot of interest. I even almost wanted to buy you a new motherboard if that insured me of a copy of the finished product :) but then you got this offer (pheww ;) )

    ReplyDelete
  4. I don't know if this helps, but I prefer it when simulations model realistic perceptions over realistic scale. I think that the natural limitations of using a monitor mean that if you scale your view and HUD realistically the net result will actually be less realistic from a human factors standpoint.

    In flight sims my preference is to have the HUD as large as possible since the human eye has far more effective resolution than most monitors, and stuff on screen is usually artificially smaller due to compressing 90 virtual FOV degrees into about 40 degrees for a typical monitor size and sitting distance.

    I think that whatever's on the HMD should be scaled to equal a realistic real life size, i.e as though you were wearing the HMD sitting at your monitor. The game just needs to know the physical monitor size and how far away the user sits.

    ReplyDelete