Dividir o Alfa

Algumas vezes, especialmente no desenvolvimento de jogos, os artistas precisam de trabalhar com o canal alfa da textura em separado. Para ajudar nesse processo, o Krita tem uma funcionalidade especial chamada Dividir o Alfa. O mesmo permite a divisão do canal alfa de uma camada de pintura para uma Máscaras de Transparência separada. O artista poderá trabalhar na máscara de transparência num ambiente isolado e juntá-la de volta quando acabar o seu trabalho.

Como lidar com o canal alfa da camada

  1. Use o mouseright sobre a camada de pintura na área de camadas.

  2. Escolha a opção Divisão do Alfa ‣ Alfa para Máscara.

  3. Use a sua ferramenta de pintura favorita para pintar sobre a Máscara de Transparência. O preto pinta a transparência (ver através), enquanto o branco pinta a opacidade (visível). Os tons de cinzento pintam a semi-transparência.

  4. Se quiser isolar o canal alfa, entre no Modo Isolado com o mouseright + Isolar a Camada (ou Alt + mouseleft).

  5. Quando acabar de editar a Máscara de Transparência, use o mouseright sobre ela e seleccione Dividir o Alfa ‣ Gravar como Alfa.

Como gravar uma textura em PNG e manter os valores das cores nas áreas completamente transparentes

Normally, when saving an image to a file, all fully transparent areas of the image are filled with black color. It happens because when compositing the layers of the image, Krita drop color data of fully transparent pixels for efficiency reason. To avoid this of color data loss you can either avoid compositing of the image i.e. limit image to only one layer without any masks or effects, or use the following method:

  1. Use o mouseright sobre a camada na área de camadas.

  2. Escolha a opção Divisão do Alfa ‣ Alfa para Máscara.

  3. Use o mouseright sobre a máscara criada e seleccione Dividir o Alfa ‣ Gravar Reunido….

Color channel values in transparent areas

Krita treats all color channel values in fully transparent pixels as undefined. Effectively, it means that Krita will try to skip writing to (or reading from) a fully transparent pixel, unless it is really needed or explicitly requested. That is done for optimization purposes and allows Krita to speed up compositing the image by a lot.

Example 1: erasing pixels on the image

When erasing pixels with an eraser brush or when clearing a selection with Edit ‣ Clear action, the color data is not actually cleared. It is only the alpha channel that is zeroed, but color channels are kept intact. You can see it yourself if you try to apply Split Alpha ‣ Alpha into Mask on a layer after erasing with an eraser brush on it.

To actually clear the color channels of transparent areas you need to apply a Reset Transparent Filter on the image. It will zero-out all color channels of fully transparent pixels.

Krita also has a special Propagate Colors Filter. It fills the fully transparent areas with neighboring colors instead of just zeroing them out, which might be useful in some workflows.

Example 2: compositing layers with color data inside fully transparent areas

If you have multiple layers, which have any color data inside their fully transparent areas, the result of their merge will not include this color data. The resulting pixels will be just zeroed out. Obviously, you cannot blend two pixels with zero alpha, because you would have to divide by zero for that.

For most workflows it just means that you should use Split Alpha ‣ Save Merged… action to properly save the result of this split alpha work. When exporting the result via File ‣ Export…, a compositing operation may (or may not) happen, clearing out the transparent areas.