Analytiq
New Member
Hey, thank you so much for the detailed answer! Out of sheer luck Youtube ended up recommending a video to me a day later that showed how to use multi-actions (from a Streamdeck for example) to trigger the scene transition and move value together. It is working for now, but I will check out your approach to see if there is any noticable improvements in terms of maintainability. Thank you for the awesome help!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).
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.
- Create a new scene, name it "Talking". To this scene add your facecam video capture device (call it "Facecam").
- Create a new scene, name it "Gameplay". To this scene add the existing "Facecam" source you just created in step 1.
- 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.
- 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.
- 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.
- 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.
- 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".
- 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."
Its not ideal, but is about the only way I could figure out how to make this all work. I hope this is helpful!
For others stumbling across this thread: https://youtu.be/NtmlIAfqBT4?si=6d6-FwRl1Sqd3Qn5 just replace the filter used with advanced masks and then use either the macro program or a streamdeck.