Skip to content

upgradeQ/OBS-Studio-Cursor-skin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OBS Studio Cursor skin

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.

Lua and HLSL shaders cursor

Installation

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.

Sample preview 1440p resolution in fullscreen game.

  • Neon shape - you can customize color and size.

img

  • 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

Python version

Installation

  • Install pynput package from pypi
  • Make sure your OBS Studio supports scripting python -m pip install pynput

Limitations

  • Multiple monitors setup currently not working.
  • If used in fullscreen apps, offset might appear.

Usage

  • 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

Advanced usage

  • Make a group, add Display Capture, Window Capture.

img

  • 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

img

img

  • Test it: press Start, press Stop, tweak refresh rate.

Web rendered mouse cursor trails

  • 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

Zoom

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

On the Roadmap

  • Lua based shaders rendering: proper trail rendering, new particles effects
  • Flipbook animations support
  • GNU/Linux support : porting HLSL shaders to OpenGL
  • Multi monitors setup

Acknowledgments

Contribute

You are welcome to contribute. Help is needed.

Developing

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.

Marketing

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.

Voting

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).