-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clamp non-looped animations to start and stop times. #8769
Conversation
Thanks for the pull request @emackey!
Reviewers, don't forget to make sure that:
|
I can't see what Travis is doing, but there's probably a failed test on here, I'll have to look into it. |
Why not? You should be able to get the full log. Here you go either way.
|
OK, tests uncovered another edge case, where user's stop time happens before the animation's own stop time. This is fixed now, and new tests explicitly cover the edge cases I know about. Coverage remains at 100% for this section of code. |
This is ready. |
Looks simple and straightforward to me and can confirm the fix works as intended. @lilleyse did you want to take a look at this? |
Looks good to me |
Fixes #7387.
If Cesium's current time went outside of a non-looping glTF animation time interval, Cesium would not perform one final update to push the animation as far as it could go in the direction of that time.
Here's a Sandcastle demo on master that tries to demonstrate the problem. The green area on the timeline shows where the animation is playing. If you jump the time into one of the outside areas (yellow or red), the cube won't update, it will remain frozen in some in-between state.
Here's the same Sandcastle demo on this branch.