This script adds a pack of various cursors for OBS Studio. There are two main variations of the script. The Python version requires installation of 3-rd party pip packages and is crossplatform. The Lua version uses multiple scripts + shaders, Windows (DirectX) only.
Move files to some permanent location, select and add .lua files to OBS Studio, you will see new entries in context menu of filters or sources. Add a filter to a source e.g Desktop Capture if it is a filter based cursor. Add a source to scene if it is a new source type cursor.
- Neon shape - you can customize color and size.
-
On click shader - show up to 7 clicks at the same time and show/hide highlight
-
Shader trail - simple circles trail
-
Shader trail xmas - holiday special (high GPU usage!)
-
Raster particles - A new source with 10k stateful unsorted particles, originally developed for a max 2560x1440 resolution, but works on 16:9.
-
Mouse cursor motion blur - A new source, adds 360fps like motion blur cursor. Locked to 60fps, requires Admin or running OBS on second monitor/not minimized
- Install pynput package from pypi
- Make sure your OBS Studio supports scripting
python -m pip install pynput
- Multiple monitors setup currently not working.
- If used in fullscreen apps, offset might appear.
- Create a source with desired cursor(e.g Image source or Media source).
- In scripts select that source name.
- To center source (scene item ) go to: Transform > Edit Transform > Positional Alignment > Center
- Make a group, add Display Capture, Window Capture.
- To crop, crop the group, the size should still have the same ratio as your monitor even if you scale it
- To set offset/calibrate, use the Display Capture to see mouse and adjust it at Scripts (or use Tab/Shift+tab to navigate, if in Window Capture, to not move mouse). You have to do this every time you change the Group scale/move it
- Test it: press Start, press Stop, tweak refresh rate.
- Add browser source with mouse tracking local or online web page.
- Make sure to set resolution as your monitor (base)
- Fill all entries, check
Use browser source
Have you ever needed to zoom in on your screen to show some fine detail work, or to make your large 4k/ultrawide monitor less daunting? Zoom and Follow for OBS Studio does exactly that, zooms in on your mouse and follows it around. Configurable and low-impact, you can now do old school zoom ins live
See: Zoom and Follow , source code
- Lua based shaders rendering: proper trail rendering, new particles effects
- Flipbook animations support
- GNU/Linux support : porting HLSL shaders to OpenGL
Multi monitors setup
3_4_700
- added offsets functionality for precise custom cursor(like a hand drawn arm holding a pen for artists)tholman/cursor-effects
- stock cursor trailsinspirnathan
- SDF shaders implementation tutorial seriesbfxdev/OBS
- Shader tutorials and code specific for OBS Studio.DirectX VTF (2008)
- particle system from VTF
You are welcome to contribute. Help is needed.
There are roadmap items to choose, you are also free to suggest ideas to add and implement. There are forums and GitHub Issues check them out for suggestions or bug reports. Forks are a great way to contribute to a repository. After forking a repository, you can send the original author a pull request . Create a new file for each of your source/filter.
Write articles, reviews or tell your friends about it. The more users we have, the more people we have testing and the better we can become.
In order to improve this scripting functionality and integrate it into OBS Studio, you are encouraged to vote for this feature: https://ideas.obsproject.com/posts/71/option-to-highlight-mouse-cursor-and-mouse-clicks Currently the program lacks a way to get the cursor texture(includes cursor wait, text, states).