Conversation
HifiExperiments
left a comment
There was a problem hiding this comment.
oooo this is super cool
|
Something 7 and I have found in testing is that clients at a higher framerate seem to jitter and ones at low framerates are smooth. I'm not sure yet what the problem might be |
|
I sorted out the jitter issue. I'll try to have pull request ready in the evening :) |
|
I think I figured it out: |
|
I got backtrace for the crash: |
|
The crash happens due to |
I think that's the only solution, if there's no history to interpolate from then it can't interpolate |
|
After the fix this PR is rock-solid now :) |
|
I could hook up rotation interpolation, but I'd need your help getting it to be smooth. My naive impl was stuttering like joints were before your fix. Position might be harder since avatars have separately networked local and global positions. Some day we need to clean up AvatarData to always just use local positions even when there's no parent, like how avatar rotation is currently. For now I think the forever-ease-out on the global position is good enough until we can get around to that. |
|
If you add rotation, I'd love to help on signal processing side as with joint positions :) |
|
Now that avatars move smoothly, it's been revealed that #1634 affects entities parented to |
Fixes #1280
In both demo videos the client being looked at is limited to 5 FPS to make the interpolation more visible.
Master
avatar-lerp-master.webm
This PR
avatar-lerp-pr.webm