FOVE SUPPORT CENTER

[Unity] Fove Interface Orientation

Completed

Comments

13 comments

  • Avatar
    Thomas Day

    For what reason would you want to to turn off orientation tracking in a VR headset?

  • Avatar
    Nicholas Temple

    Providing an eye-controlled static 2D interface, while avoiding any jitter involved in having to move the interface in 3D space.

  • Avatar
    Thomas Day

    Do you not think that would be disorientating for the user? Having a VR headset on that doesn't move with you?

     

    Would your use case be better using a normal desktop monitor and some external camera for the eye tracking?

  • Avatar
    Nicholas Temple

    I appreciate what you're trying to do Thomas, but I have plenty of experience with external eye-tracking devices and have plenty of reason for investigating the use of the FOVE in this way. Fact of the matter is, disabling orientation tracking is a feature provided by the FOVE SDK and I'm merely trying to get some support as to why this isn't working.

    EDIT: FYI. Being purposely vague for IP reasons :)

  • Avatar
    John Vito d'Antonio-Bertagnolli

    Hi, Nick! I have a quick and dirty workaround that I use all the time for the Rift. The same idea will work for the FOVE, but you'll take a bit of a performance hit, and the display will look a little bit shaky. Just put this somewhere in an update function in your scene, and you'll have a solution (albeit a jittery one)  for now.


    FoveInterface.TarePosition();
    FoveInterface.TareOrientation();
  • Avatar
    Chang Y

    That's a great work around John Vito, thank you!

    But I think having a native/functional disable Fove Orientation would be very useful. I personally use that functionality when I work with Oculus Rift.

  • Avatar
    Scott Harper

    Hi Nicholas,

    I've been assigned to fixing this task, and I wanted to give you a bit more data of what's going on and how I can help fix it for you.

    The flags in the Unity inspector are just a thin layer atop the built-in functionality of GetFVRHeadset(EFVR_Capabilities) that only indicates what features you intend to be used. This lets the runtime spin down parts that aren't actually in-use; but if something ELSE was using the data it would still exist in the memory sent out to all clients, as that's more efficient. The compositor client, in order for WaitForRenderPose to function registers for orientation data always, which spins up the orientation data feed.

    So I can definitely prevent the orientation/position data from updating in the FoveInterface object (which is essentially what you get from taring every frame as you are); but in both those cases you may still end up with a little wiggle due to our asynchronous time warp (if you aren't seeing this, then it means that our delay from getting position and rendering to displaying is doing REALLY well).

    So I have an extra solution I'd like to implement for you. Our compositor supports a flag for whether you want timewarp enabled or not. My plan is to expose this flag to the inspector as well. I'd rather not tie it directly to the orientation flag, so you'll have to check that box yourself.

    How does that sound?

    -- Scott

  • Avatar
    John Vito d'Antonio-Bertagnolli

     

    Hey, Scott. I'm having trouble getting to the disableTimeWarp attribute. The SFVR_ClientInfo class is documented on your Unity API website, but (on my computer at least) the Fove namespace skips from FoveHeadset right to SFVR_CompositorTexture. Am I missing something?

  • Avatar
    Scott Harper

    Hi John,

    Unfortunately, with 1.0.0 of the Unity plugin, a few of the structs (including SFVR_ClientInfo) were marked as internal which we had intended to be public. That will be fixed in the next version. It doesn't look like I can give you a simple way to expose this functionality yourself, unfortunately.

    We're working very hard to get the next release of the SDK out. I'll check today and find out where we are on the release, and if it's not soon, I'll try to get a bugfix version out for you guys which includes this feature sooner.

    -- Scott

  • Avatar
    John Vito d'Antonio-Bertagnolli

    Ah, figures. Thanks for the update!

  • Avatar
    Husam Katnani

    Hi John,

    This may be a very silly question, but in your above post you say that there is documentation of the FOVE on a Unity API website. Where is that?

  • Avatar
    Nicholas Temple

    Thanks for the assistance Scott, very keen to see this feature implemented in a bug fix/SDK release as this feature is critical to the project I'm working on!

Please sign in to leave a comment.