Familiarize yourself with adding actions to buttons.
The command to animate objects is animate (the move command is an alias of animate)
The parameters are;
- scene=<scene name> (case sensitive)
- group=<group name> (optional)
- item=<scene item> (case sensitive)
- delay=<time in ms> (optional)
- x=<new x position>
- y=<new y position>
- w=<new width>
- h=<new height>
- cl=<crop left> (optional)
- cr=<crop right> (optional)
- ct=<crop top> (optional)
- cb=<crop bottom> (optional)
- steps=<number of steps to split the animation into>
- interval=<time between each step in milliseconds>
- easing=<type of easing to use in animation> (optional)
- alpha=<opacity: 0 - 100> (optional) (See below)
The scene and item parameters are case sensistive, so must be typed exactly as they appear in OBS.
The group parameter must be used if the scene item is in a group (available from OBS Studio v22).
The optional delay specifies a time (in milliseconds) to wait before running the command.
The four crop parameters (cl, cr, ct, cb) allow you to crop the scene item from the left, right, top and bottom.
Setting Opacity : If you are setting the opacity of any objects then you must create a special object called UP DECK. It can be any type of object - a Color Source for example. It can also be created in any scene - as long as it exists somewhere in OBS - it can even be invisible. You then must add a Color Correction filter to this special object : rename the filter to UP DECK COLOR. After this special object and filter have been created, you can set the opacity of any object in any scene.
x and y position : the top left corner of the screen is 0,0. If you're broadcasting in 720p then the bottom right of the screen is 1279,719 (screen size of 1280x720).
If you only want to move an object, you can omit the w, h and r parameters - the same is true if you only want to resize or scale : just leave out the parameters you don't want to change.
By adjusting the steps and interval values, you can control the speed of the animation and how smooth it looks - experiment to find your preferred values.
The optional easing parameter adds an easing effect to the animation. Valid values are EaseOut, EaseIn, EaseOutIn, EaseInOut and EaseOutElastic. If no easing is specified (or an invalid value is used) then no easing is applied. Check out the examples below : one moves an object on to the screen and the other moves it off screen. When moving the object on to the screen, EaseOut has been used so that the object starts quickly, then decelerates as it reaches the target position. When moving the object off screen, EaseIn has been applied to start the animation slowly and then accelerate off screen.
Move on screen
Move off screen