Dev:Ref/Proposals/Masking/

提供: wiki
移動先: 案内検索

Changing Behavior of Masks with overlapping shapes

I propose to change the behavior of overlapping shapes in mask mode to automatically add instead of subtract. We discussed and agreed on this with Roman Volodin, Sean Kennedy and Sergey Sharybin.

Current behavior

MaskShape subtraction.png

One mask datablock can have multiple mask layers. One mask layer can consist of several shapes. If you arrange 2 mask shapes (for example 2 circles) so that they overlap, the inner circle is automatically interpreted as a hole. Very similar to the behavior of 2d curves in 3D View.

MaskShape overlap.png

One problem with that is, that it can lead to ugly bugs if one shape is not entirely inside the other shape. But the other problem with this is, that it is not very useful for common roto and masking work.

Workflow Problem

I would consider it far more useful, if overlapping shapes would just add together. The reason for that is that during masking you often have to mask out markers or other problems in footage. For the image below imagine a camera that is moving to the right. Due to the perspective shift, the little marker for the orange ball in the foreground would move to the left, and at some point would overlap with the bigger mask in the background. That would cut a nasty whole into the mask, which is totally counterproductive and not very useful.

MaskOverlap.png

To fix this we would have to create a new masklayer, have it set to Add, and create the shape there. So every shape that might overlap with a another would have to have its own masklayer. But for the workflow that is not very useful.

Proposed behavior

Overlapping Shapes inside one mask layer should use the AddMerge behavior that is currently the default blend mode for mask layers. If you do need to have a shape with a hole in the middle, you can still use a second mask layer and set it to subtract.

MaskProposedOverlap.png