Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
193 stars 9 forks source link

Transform of any tracked devices appear delayed by a frame #2334

Open Hayden-Fluff opened 3 years ago

Hayden-Fluff commented 3 years ago

Describe the bug

The transform of slots driven by a tracked device using TrackedDevicePositioner is seemingly always delayed by a frame, causing very jarring disconnects, any elements if your avatar's head that can be seen in first person to be off and due to HMD tracking jitter, seemingly vibrating constantly, and when moving fast, elements of the avatar clipping into the first person view (such as any facial accessories, hair, or the back of the face)

Relevant issues

None to be found

To Reproduce

Expected behavior

As seen in many other VR applications, I'd expect that any tracked device transform would be 1:1

Screenshots / Video

Will post some later once I have the energy to record them

Bug information (please complete the following information):

Additional context

I have had a case once where the head of an avatar was completely 1:1 to the view, however I have no idea what I did to trigger it, and it did not persist after reloading the avatar.

Reporters:

Hayden#3180

Frooxius commented 3 years ago

What makes you say that it's any tracked device? The system is updating the poses before the transforms update, so it's very unlikely that this is really the case.

The issue with avatar clipping into the view has a different cause that's unrelated to the tracked devices and is planned to be fixed.

Hayden-Fluff commented 3 years ago

Considering I see this on anything that is tracked (head, hands, trackers) and is also visible on head and hand avatars, I'd think that it'd be unrelated to the avatar system.

Frooxius commented 3 years ago

There are other possible causes as well though, notably with head some late view update just prior to rendering. In case of the overlay the difference in the framerate will make this more obvious, since the overlay can be updating at much faster rate and get more recent values, but it doesn't necessarily mean the data is delayed by a frame.