Vehicle angular velocity interpolation never finishes or stutters while on non-flat surfaces
tracked
TrishAce Resident
It is possible for a vehicle to be in a state where it "settles" in a way that sends no more viewer updates. When that happens, the viewer will try to interpolate the last tiny omega value forever.
To reproduce this, you need a vehicle that does not resend llSetMotorParams on a forever loop. (Some vehicles will spam a speed of 0 while stopped, which will make them slide in slopes and effectively prevents this bug from happening). The 777 2PM freebie from a previous shop n hop is one of the vehicles that can reproduce this bug. (I also have an old version of a vehicle Ive worked on that can suffer from this, if you want, I can provide a trimmed version for testing purposes)
Then the repro steps is:
- Stop in a slope at an angle
That's it!
You will notice a stutter happen (this is the movement interpolation fighting the real state of the object), it corrects itself when the object refreshes, but sometimes it will forever interpolate until you right click or refresh in some other way:
Side note, to prove this is interpolation-related: altering the InterpolationPhaseOut setting affects that stutter, a value of 0s will guarantee you have a spinning moment, the default of 1s makes it stutter, having it at something like 0.001s completely kills the stutter and feels as it should, you dont get a bunch of micro stutters: https://gyazo.com/de896f5d97fa8eb2e249aa30385a0953
Multiple people on multiple viewer may see a different spinning state based on when they last got an object update. Ive had cases where I see it spinning and a friend doesn't, and vice-versa. This bug happens both on the LL viewer and Firestorm and Alchemy.
Another case here:
now 3 minutes later:
right clicking, or otherwise interacting with the vehicle in some ways makes it reset upright as you would expect:
From my troubleshooting with my own vehicles scripts & some viewer tinkering, the engine/scripts sees the car in its "true" orientation.
I've managed to "fix" this quirk by forcing object updates in my lsl script. (Like by changing some invisible hovertext), but the real fix would be to adjust viewer interpolation for vehicles to prevent them from spinning endlessly.
Log In
Dan Linden
updated the status to
tracked
Dan Linden
Thank you for the report, TrishAce!
Issue tracked at https://github.com/secondlife/viewer/issues/6020. We have no estimate when it may be implemented. Please see future updates here.
Dan Linden
Thank you for the report, TrishAce!
Please share with me the trimmed version of the vehicle for testing purposes.
TrishAce Resident
Dan Linden just sent you a debug prim vehicle with a trimmed script, already confirmed I can also reproduce it in this barebone config.
let me know if you need anything else