I'm running into one issue: the cutscene controller always applies a 'curve' to the movement speed. It does not move linearly, but moves slower at the start and end of each movement. This is called "easing" in software like After Effects and Bender; the cutscene controller is in effect applying an ease-in at the start of the movement and an ease-out towards the end.
This is making it more difficult for me to integrate certain cutscene movements into my videos in an ideal (read: anal) way. Because the movement is not a linear speed, it becomes more complex for me to match the speed of the cutscene movement to other movements happening in my footage, or to apply my own movement curve.
Request: add option to waypoints table of cutscene controller to make movement linear
A simple solution would be to add a new field to the waypoint table :Code: Select all
linear_movement = boolean. Default false.
Example usage:
set_controller { type = defines.controllers.cutscene, waypoints = {
{ position = {0,0}, transition_time = 10, time_to_wait = 240, zoom = 0.001 },
{ position = {0,0}, transition_time = 360, time_to_wait = 120, zoom = 1.7, linear_movement = true }
}, chart_mode_cutoff = 0.4, final_transition_time = 60
}
- False = same behaviour as now, with an ease-in and ease-out always applied according to current logic.
- True = This movement is linear. If I pan a distance of 1000 tiles in 10 seconds, it moves 100 tiles each second. If I zoom from 0.1 to 1.0 in 3 seconds, the zoom changes 0.3 each second.
In fact, having the ability to set individual movements to be linear would also allow users some ability to create their own custom movement curves, even without external editing software. By chaining together multiple linear_movement waypoints of varying durations, the user could in effect approximate any animation curve. For example, if I wanted to move 1000 tiles with a long ease-out, I could specify waypoint 1 to move 800 tiles in 2 seconds, then waypoint 2 to move 200 tiles in 4 seconds. The smoothness of the curve could be improved by adding even more waypoints. That can't be achieved acceptably at the moment because of the baked in easing on each waypoint.
Thanks very much.