Week 6: Fixing the Timeline
issues and equipping it with more features#
What did you do this week?#
Improved the
PlaybackPanel
by adding speed control and the ability to loop the animation. Also, fixed the lagging issue of play and pause buttons and composed them into a single play/pause button.Updated the old tutorials’ syntax to match the other tutorials and added a new tutorial on position animation using spline interpolation. Added unit tests for the
PlaybackPanel
and the newly added color converters incolormap.py
.Added more hooks to the 2D sliders to cover two more states:
on_value_changed
, which gets called whenever the value of the slider is changed without interacting with the slider.on_moving_slider
, which gets called when the position of the slider is changed by user interaction. #634.
The reason for adding these two hooks is that there was only the
on_change
hook, which always gets called when the value of the slider is changed without considering how the value is changed, hence, the functionality of the slider was limited.
Provided the ability to add static actors to the
Timeline
, which might be needed in the animation part of Shivam’s glTF project #643.If an
actor
is added to theTimeline
as a static actor, it won’t be animated by theTimeline
, but it will get added to the scene along with theTimeline
.
Implemented a custom evaluator for the
Timeline
’s properties.A custom evaluator uses a user-provided function that takes time as input and evaluates the property at that time. This feature is yet to be discussed more in today’s meeting.
Fixed camera rotation and the view-up issue when interacting with the scene.
What is coming up next week?#
Make a tutorial on how to implement a new custom Interpolator to work with the
Timeline
.Add motion path visualization feature for both position and color properties.
Add custom evaluation functions directly, without using the
CustomInterpolator
.Implement an already existing complex interpolator using closures instead of classes.
Did you get stuck anywhere?#
I didn’t get stuck this week.