Announcement

Collapse
No announcement yet.

HMD ResetOrientationAndPosition not working correctly in 4.24.2

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

    HMD ResetOrientationAndPosition not working correctly in 4.24.2

    Hi, just noticed that
    Code:
    UHeadMountedDisplayFunctionLibrary::ResetOrientationAndPosition()
    (called Reset Orientation And Position in blueprints) works differently than in 4.24.1.

    Before, calling this would "rotate the whole scene" (i.e. change tracking origin), so that the current angle where the HMD is looking is the world X axis in unreal and HMD position is set to world (0,0,0).
    That's still the case, but now, controllers stay where they were before the call, thus becoming disconnected from the actual HMD. They still track, but they're not in correct relative position to the HMD.

    To reproduce - create VR template project in 4.24.1, set an action to fire off the Reset Orientation And Position blueprint node and observe results.
    Then do the same in 4.24.2, you'll see the controllers move with the HMD when the action fires in 4.24.1, but not in .2.

    Is this intentional? Any tips on how to get the desired behavior back?
    Last edited by tommybazar; 02-11-2020, 04:27 AM.

    #2
    We have the same Problem with the HTC Vive regarding that after calling ResetOrientationAndPosition the Controllers are not on their correct position anymore. Have you created an UDN Ticket or Bugreport ?

    Comment


      #3
      This was what I got from epic..

      We've found a fix for the bug that you should be able to cherry-pick onto a source build of the engine:

      Open the source file Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVRInputDevice\Private\SteamVRInputDevice.cpp

      In the function FSteamVRInputDevice::Tick look for the following two lines at the end of the function:
      1. CachedBaseOrientation = FQuat::Identity;
      2. CachedBasePosition = FVector::ZeroVector;

      Change those lines to:
      1. else
      2. {
      3. CachedBaseOrientation = FQuat::Identity;
      4. CachedBasePosition = FVector::ZeroVector;
      5. }

      That should resolve the issue.

      Comment


        #4
        Originally posted by aldermark View Post
        This was what I got from epic..
        Thanks a bunch. Looking at 4.25 branch of the Epic repo, they integrated this fix with the next release, so no need to report it.

        https://github.com/EpicGames/UnrealE...nputDevice.cpp

        Comment

        Working...
        X