The transformation can now be controlled via inputting a JSON formatted text that describes the movement. Sample below :
{
"swap_time": 0.5,
"transforms": [
{
"begin_frame": 0.5,
"end_frame": 0.7,
"easing": "sinusoidal | linear | constant",
"transformation": "scale | translation | rotation",
"params": {
"x": 1.0,
"y": 0.1,
"z": 1.0,
"w(optional)": 1.0
}
}
]
}
begin_frame
, end_frame
, swap_time
all range from 0 to 1 and are scaled with the transition's duration.
transforms
is an array containing all the transformations to be applied to the frame, in order. For rotation, x, y and z specify the axis of rotation, while w is the angle of rotation.
It is advised to create such a file in a separate text editor, then paste it in the appropriate field, as OBS refreshing the transition each time you input a character will make for a very unpleasant experience.