Advanced Masks

Advanced Masks 1.1.0

5 stars!!!
Please, add border tools next time!
Here is my review:
Glad you're enjoying the plugin, and thank you for the review video! Have you tried combining it with the Stroke option of my Stroke Glow Shadow plugin (which can add all sorts of borders)? The two were designed to work together. :)
 

Nevins303

New Member
Thankyou for this awesome plugin @FiniteSingularity , random request but wondered if possible to include 1/2 polygon e.g semicircles/ half hexiagons/half stars shapes or more individual custom sides etc , trying mask a custom area and rotation and side number combo doesn't quite work for me , but for normal operation this is top notch thank you
 
Hi Nevins-

I'm glad you're enjoying the plugin!

Due to how we determine the shape of the mask (mathematically), something like a half polygon or half star would be tricky. A semicircle however would be doable, and I will look into adding it to the next version. One workaround to this (though it doesn't work so easily with rotation) would be to add say, a star mask, and then add another rectangular mask as a second filter, and have this rectangular mask only include one half of the star.

Re: Arbitrary/custom shapes, it is definitely do-able mathematically, but the tricky part here is the user interface to enter in points, curves, etc.. with the limitations of the widgets the OBS filter pane provides. I've got some rough ideas on how to make an OK interface, but haven't given it a try yet, but it is definitely something I want to look into.
 

pixelheart27

New Member
Hi, I can't seem to get this filter to work. It appears in the list but when I click it my source goes black and when i make the filter invisible it reappears. I also have this with your Stroke Glow Shadow filter and I just can't get it to work. Any ideas?
 
Hi, I can't seem to get this filter to work. It appears in the list but when I click it my source goes black and when i make the filter invisible it reappears. I also have this with your Stroke Glow Shadow filter and I just can't get it to work. Any ideas?
Hi Nattie-

It sounds like the data files (shaders) may be not have installed properly. Could you please launch OBS and go to Help —> Log Files —> Upload log file, then either post the url it gives you here, or DM me the url? That will help me troubleshoot.
 
FiniteSingularity updated Advanced Masks with a new update entry:

Feature and Bugfix Release 1.1.0

Thank you everyone who has downloaded and given feedback on the Advanced Mask Plugin! I've seen some amazing things that the community had built- y'all are incredible! This release contains new features and one bugfix (that causes a slight breaking change, so make sure to read below, AND PLEASE BACK UP YOUR OBS SETTINGS BEFORE UPGRADING).

Bug Fixes
  • Fixes a bug where advanced masks were not applied correctly to image sources.
  • Fixes a bug where shape mask dimensions were...

Read the rest of this update entry...
 
FiniteSingularity updated Advanced Masks with a new update entry:

Feature Release 1.1.0

Thank you everyone who has downloaded and given feedback on the Advanced Mask Plugin! I've seen some amazing things that the community had built- y'all are incredible! This release contains new features and one bugfix (that causes a slight breaking change, so make sure to read below, AND PLEASE BACK UP YOUR OBS SETTINGS BEFORE UPGRADING).

Bug Fixes
  • Fixes a bug where advanced masks were not applied correctly to image sources.
  • Fixes a bug where shape mask dimensions were...

Read the rest of this update entry...
 

catfondler

New Member
Hello, I'm trying to use this paw with the BSM alpha wipe, but when I select that option it seems to instead use the source mask option. Is this user error on my part?
Screenshot 2024-02-07 181617.png
Screenshot 2024-02-07 181555.png
 
Hello, I'm trying to use this paw with the BSM alpha wipe, but when I select that option it seems to instead use the source mask option. Is this user error on my part?View attachment 101509View attachment 101510
I think the problem you are seeing is that the alpha wipe effect currently stretches the source to fill the source you're masking. I'm assuming you have a source that you want to be revealed by a cats paw wiping over it.

The way I would approach this:
1. Make a new scene, and call it "Cat Paw Scene."
2. Add your cat paw image (with transparency) to that scene.
3. Now on the source you want to reveal, add an advanced mask filter, and select BSM Alpha Wipe. For the source, select the "Cat Paw Scene" you just made.
4. Now as you move the cat paw image around in the cat paw scene, you should get the alpha wipe effect. You can test this out using Studio Mode, where the preview scene is the cat paw scene, and the program scene is the scene with the source that you want revealed.
5. Use something like the move plugin to animate moving the cat paw around.

Edited to say- for the BSM Alpha wipe to look scaled correctly, you want the source you want to reveal, and the source that is doing the masking, to have the same size/aspect ratio. I'm going to work on making this more flexible in a future release.
 

saltyd

New Member
Hey there! I think your plug-in is the solution to what I'm trying to accomplish (well, hoping and praying it is).

This is what I'm trying to accomplish...

- remove the background from a camera source (screenshot example below) - to put a scene beneath it and change what the background looks like.

My original idea was to use a screenshot image from the camera, without people in the shot. Then, use an image mask in the camera source and subtract the screenshot out. The idea being that the difference would be the people in the camera source.

This sorta works, but the resulting camera source is translucent, and fades into whatever background I put underneath the source.

Is there a way to key out the non-moving content in a camera source using this plug (or use a source/image to only show the difference between the two, in order to place a background beneath the camera source)?

Truly appreciate any help. I've been going nuts trying to figure this out.


Screenshot2.jpg
 
Hey there! I think your plug-in is the solution to what I'm trying to accomplish (well, hoping and praying it is).

This is what I'm trying to accomplish...

- remove the background from a camera source (screenshot example below) - to put a scene beneath it and change what the background looks like.

My original idea was to use a screenshot image from the camera, without people in the shot. Then, use an image mask in the camera source and subtract the screenshot out. The idea being that the difference would be the people in the camera source.

This sorta works, but the resulting camera source is translucent, and fades into whatever background I put underneath the source.

Is there a way to key out the non-moving content in a camera source using this plug (or use a source/image to only show the difference between the two, in order to place a background beneath the camera source)?

Truly appreciate any help. I've been going nuts trying to figure this out.


View attachment 102130
Hi saltyd-

Advanced mask could help, though I'm not sure if you'd get exactly the look you're going for.

With advanced mask, you could make a scene that does the subtraction of the current video from the static version. You could then use the result of this, as in input for a source mask to determine what gets keyed out.

What I've found is that this kind of static image subtraction doesn't always work well, as in many cases your video feed will have noise, slight lighting differences, etc.

Perhaps I am misinterpreting what you want to do. Any chance you could photoshop something up that shows what you're going for? That might help me to guide you a bit.
 

saltyd

New Member
Apologize on the delayed response!

Actually, is this a possibility. With a regular image mask filter, I can use an image that has a black section, and a white section, and set the filter type to Alpha Mask (Color Channel) . The black section of the image will mask out the video source to transparent (allowing me to put whatever behind the video source to show beneath it.). The white section of the image will allow the video source to show through.

Is this concept possible using your plugin, BUT use a video source instead of an image for the masking?

In other words... I have my video source. I apply a mask that is a video that looks like this (this is just an example image. The real mask video would change around the black/white parts as the video plays):

Untitled-1.jpg


Then, I have another video playing underneath of my masked video, so it shows through on the screen. Like this:

 
Apologize on the delayed response!

Actually, is this a possibility. With a regular image mask filter, I can use an image that has a black section, and a white section, and set the filter type to Alpha Mask (Color Channel) . The black section of the image will mask out the video source to transparent (allowing me to put whatever behind the video source to show beneath it.). The white section of the image will allow the video source to show through.

Is this concept possible using your plugin, BUT use a video source instead of an image for the masking?

In other words... I have my video source. I apply a mask that is a video that looks like this (this is just an example image. The real mask video would change around the black/white parts as the video plays):

View attachment 102354

Then, I have another video playing underneath of my masked video, so it shows through on the screen. Like this:

Yes, that should work as you need it to. Just add the video source that contains the mask, then to the source you want masked, add an advanced mask filter --> source mask, select the video source that contains the mask as the source, and select "Luminosity" for the "Filter On" dropdown.
 

Analytiq

New Member
Question: Does anybody know a way to smoothly transition between different filter settings from one scene to another? I have my face cam in scene A as a normal full screen and in scene B as a smal rounded square. The movement and scale of the source is covered by the move plugin but is there a way to get the advanced mask filter settings to transition as well so the rounded corners and cropping is not just popping into existence? Tried to find a solution, but was unable so far... Thanks a lot already, any help is appreciated.

PS: I absolutely love this plugin!!!
 
Question: Does anybody know a way to smoothly transition between different filter settings from one scene to another? I have my face cam in scene A as a normal full screen and in scene B as a smal rounded square. The movement and scale of the source is covered by the move plugin but is there a way to get the advanced mask filter settings to transition as well so the rounded corners and cropping is not just popping into existence? Tried to find a solution, but was unable so far... Thanks a lot already, any help is appreciated.

PS: I absolutely love this plugin!!
Hi Analytiq-

I'm very glad to hear you're enjoying the plugin!

The issue you are talking about was actually one of my big original motivators for creating the plugin, and what you want to accomplish can absolutely be done, though it is an.. advanced use of advanced masks. ;) I really need to make a video tutorial about this, but I'll try to briefly explain how it can be accomplished.

Lets say you have 2 scenes- "Talking" and "Gameplay". In the talking scene, you want your "Facecam" source to be full screen, and in gameplay you want it to be shrunk down in the lower right corner with rounded corners. Here is how to do it (starting from scratch).
I am going to assume your facecam is 1080p and your canvas is 1080p, so you might need to adjust things if this is not the case).
  1. Create a new scene, name it "Talking". To this scene add your facecam video capture device (call it "Facecam").
  2. Create a new scene, name it "Gameplay". To this scene add the existing "Facecam" source you just created in step 1.
  3. Open the filters for "Facecam" and add an advanced mask filter. Set the width and height of the mask to 1920x1080px, 0px corners, no feathering. Check the "Scene view transformation" box, and leave everything at stock (960px, 540px, scale type percent, and scale 100%). This should leave your facecam full screen and unchanged.
  4. Add a move value filter to the facecam source, and call it "Full Screen". Select "Advanced Mask" for the Filter, and select "Settings" for the Move Value Type. Then click the "Get Values" button to grab all of the current (full screen) values of the advanced mask filter. Set the duration, easing, etc.. to whatever you want.
  5. Click back on the advanced mask filter. Under the "Scene View Transformations" section, set the scale to say, 30% (to make your face cam smaller) then the position X and Y to the lower right corner (something like 1600px for X and 890px for Y if your canvas is 1080p). Once you position/scale it on the canvas, use the corner radius properties to set the corner radius to what you want in your gameplay scene.
  6. Add another move value filter to your facecam source, and call it "Lower Right" or something like that. Repeat what you did in step 3- set the filter to "Advanced Mask", Move Value Type to "Settings" then click "Get Values" and set the duration/easing/etc. You should now be able to click the eyeball on the "Full Screen" move value and the "Lower Right" move value to animate the change between the two. You can make as many of these positions as you want (say an upper left corner) and animate between any of them.
  7. Now that you've set all of your positions add a Move Action filter to your Gameplay *Scene*. The Action will be "Filter Enable", Source will be "Facecam", filter will be "Lower Right" (or whatever move value position you created that you want for the gameplay scene), and Enable will be "Enable". Scroll down in the move action settings, and set the Start Trigger to "Activate: When this filter becomes actively shown in the final mix".
  8. Now do the same for your "Talking" scene- add a Move Action filter to the Talking *Scene*, Action of "Filter Enable", Source of "Facecam", but for Filter select the "Full Screen" move action filter you created in step 4. Again, set the Start Trigger to "Activate: When this filter becomes actively shown in the final mix."
Now when you switch between your Gameplay and Talking scenes, you should get a nice animation between the two mask states. Again, you can add as many of these positions to the original source you want to mask, then just add a Move Action filter in each scene with that source, with the position/size mask you want for that scene.

Its not ideal, but is about the only way I could figure out how to make this all work. I hope this is helpful!
 
Top