I was having the same issue with the late update translating the wrong direction when having the player start not rotated at 0,0,0. Though I don’t see UE-29579 in the 4.12.3 hotfix changelog (4.12.3 Hotfix Released - Announcements - Epic Developer Community Forums), when I merged the 4.12.3 code into my current engine branch, and it seemed to fix the issue. Now whenever I rotate the player start everything works correctly.
I haven’t tried to rotate the player in-game, but translating it (teleporting) doesn’t cause an issue.
Maybe this JIRA# was also a fix for this issue? UE-31787 : Positional Latency w/ Rotation
Here’s the code change inside of SteamVRHMD.cpp from GitHub:
if (bImplicitHmdPosition)
{
+ const FQuat DeltaControlOrientation = View.ViewRotation.Quaternion() * TrackingFrame.DeviceOrientation[vr::k_unTrackedDeviceIndex_Hmd].Inverse();
const FVector DeltaPosition = TrackingFrame.DevicePosition[vr::k_unTrackedDeviceIndex_Hmd] - View.BaseHmdLocation;
- View.ViewLocation += DeltaPosition;
+ View.ViewLocation += DeltaControlOrientation.RotateVector(DeltaPosition);
}
Thanks,
Cameron