I have two vector layers. Can I use one as an alpha mask to cut a hole in the other?
I don’t want to do a unite, intersect or subtract operation of vectors that share a layer as that creates hundreds of new control points to the result. I’d prefer a non-destructive method.
You can’t use the vector object itself as an alpha mask because the transparent surround of its layer would translate to black when you convert it to a transparency mask. If you have your ‘masking’ vector object as a filled black shape and put it over a white background layer, you can do New Layer From Visible in the Layers docker and then convert that layer to a transparency mask to put on the other vector layer.
This is not a vector hole but a rendered hole in the image projection.
Can it though? I’ve tried using inheritance alpha and it doesn’t get me what I need because the empty space around the shape is what cuts, not the shape itself (I guess I want to be able to invert the alpha).
Here’s an example of what I’d like to be able to do. In this example how would you go about clipping the eyes out of the head shape using alpha inheritance?
It would be nice if we could do this so that the eye vectors could be interactively tweaked, if I have to merge two layers into a transparency mask then that new layer is it’s own thing and you can’t tweak it anymore.
You can put two transparency masks on one paint layer and they will effectively be multiplied together. So you could do the eyes separately as separate transparency masks.
(Multiple layer masks are applied one at a time starting at the bottom and working upwards. This doesn’t matter for transparency masks but the ordering does have an effect on other types of masks depending on what exactly they are and do.)
To ‘invert the alpha’, you could do a black on white image of the hole and then do colour to alpha with black as the selected colour.
For a method using alpha inheritance, I can’t do it with separate eye holes because a transparent hole in one layer is overidden by the solid colour area of a separate eye hole image underneath it. There may be a sneaky technique that I haven’t thought of, if so please let me know if you find one.
If you want separate control of the holes, I’d suggest going with multiple transparency masks.
Thanks for the suggestions, for now I’ll just have to use the transparency masks, it’s unfortunate that you can’t create vectors in them, only paint, but that’s okay for the moment.
I hope further down the line Krita is able to go that step further and have tweak-able, non-destructive vector boolean type operations.
The way track mattes work in After Effects is very good for this type of situation, I was hoping Krita had something like it. It’s quite important to be able to put holes into vector shapes with other vector shapes and keep the original number of control points. I was searching online and others were asking about it.
What if you just put both layers (one with shapes that you’re subtracting from and one with shapes that subtracts) in one group and then the upper layer (with subtracting shapes, here: eyes) would be in Erase blending mode? I guess it won’t always solve the issue but… it’s non-destructive at least.
Also there are boolean operations for vector shapes, but I’m not sure how to choose which shape should be the subtracting one and which is the one that is being subtracted from. Easier for symmetric operations Just select both shapes and use right click → Logical Operations → Subtract.
Okay, I test the first suggestion, had some trouble finding and executing the erase blending mode, but once I did that does work, and you can still play around with the vector control points, so this is really what I was asking for.
Regarding the boolean of vectors, the main problem is that it will add extra control points to maintain the resulting shape, so you are stuck with the result.
You don’t have to perform the vector subtraction on the original vector shapes. You can group them and duplicate the group then perform the subtraction (or whatever) in the duplicate group. Then if you want to make changes, you make changes in the original group and then make a fresh duplicated group and work in that.
Whatever you can think of, there’s usually another way of doing it