Announcement

Collapse
No announcement yet.

Vive Tracker randomlyhas incorrect orientation...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Vive Tracker randomlyhas incorrect orientation...

    I am having an issue where my Vive Trackers are (not all the time, only sometimes) rotating when I start UE4. Before I press the VR Preview button in Unreal I can see them in my headset in the correct position. However, once I press the VR Preview button to start the Unreal scene, some of the trackers rotate around to face the wrong way...and it is the actual orientation of the tracker, not just the display mesh. Any ideas to prevent this?

    Thanks!
    http://www.fusionlabz.com

    #2
    We are facing the same issues. I was able to narrow it down substantially, though.
    The issue seems to occur, whenever the vive controllers get sent to power-save/turn off when idle...
    When you turn them back on, Unreal seems to wrongly handle SOME internal indices...
    You will get your controller back as usable controllers, but the tracker will also become some sort of controller (we assign meshes to found controllers and the tracker gets assigned a controller mesh whenever that issue happens as well)
    The orientation of a tracker and a controller seem to be different (internally), so the axis orientation are not working anymore...and the forward vector is not what you'd expect it....

    The only workaround to fix this, for us for now, is to repair the tracker with the system.

    It's a real issue for us though and it would be great, if someone could tell us more about it/have an in-depth look into the code...

    Comment


      #3
      The same issue. Moreover, both GEngine->XRSystem->GetCurrentPose and FSteamVRHMD*->GetVRSystem()->GetDeviceToAbsoluteTrackingPose returns random poses, so definitely is a problem of a system code. Latest Unity3d have not this issue!
      I think, system thought my first 2 vive trackers to be controllers. For example, i can run Room Setup and the only vive tracker will be visible like Controller. The 3rd vive tracked make some magic - its rotation will be alt from first two ones. OR!!! The rotation of some of first 2 trackers will be changed, like it became a tracker and lost "controller orientation".. Fix it pleeeease. It actually freezes my development and makes me to use Unity, but I dont wont to work in it in this project!

      Comment


        #4
        I'm having the same issue. I ran it all the way back to the two API calls in UpdatePoses() and it just seems like Garbage is being returned. It looks like UE4 is still on OpenVR 1.0.16 while the current head is 1.2.10. Maybe it's update time.

        EDIT - I just upgraded the OpenVR API to 1.2.10 and it still occurs. I'm at a loss at this point.
        Last edited by Joe Wilcox WisE; 03-11-2019, 09:19 PM.
        Joseph Wilcox
        [Technical Director] WisEngineering
        https://www.wisengineering.com
        https://www.digitalleprechaun.com

        Comment


          #5
          Same issue here. I'm using two trackers set up and one of the two trackers has the forward axis pointing in the wrong direction. It would be nice to hear from someone at Epic to have some insights on possible solutions.
          Email Plugin - An easy to use plugin to send emails from one email address to another.

          Comment


            #6
            I think I solved the issue. Using the Enumerate Tracked Devices and specifying different devices types I was able to realise that one of the trackers seems to be recognised as a motion controller. The vive tracker up axis and the controller up axis seem to be different.

            All I had to do to get both working as trackers is going to the SteamVR overlay, right-clicking on the tracker icon (any will do) and clicking on Manage Vive Trackers.

            Click image for larger version

Name:	Manage.PNG
Views:	58
Size:	12.9 KB
ID:	1670517
            A window opens and in there make sure that for each tracker you select a role that isn't Held in hand, in my case I choose waist for both.

            Click image for larger version

Name:	Role.PNG
Views:	54
Size:	75.1 KB
ID:	1670518

            Now with that setup go back to UE4 and try to run the EnumerateTrackedDevices with the DeviceType enum set to Other. You should see the right number of devices (two in my case) and if you use either GetDeviceWorldPose or GetTrackedDevicePositionAndOrientation the trackers should face both in the same direction.

            Hopefully, it also works for you.
            Email Plugin - An easy to use plugin to send emails from one email address to another.

            Comment

            Working...
            X