アルファ分離¶
特にゲーム開発の分野ではしばしば、アーティストがテクスチャのアルファチャネルを分ける必要が出てきます。そのような作業を補助するため、Krita には と呼ばれる特別な機能があります。ペイントレイヤーのアルファチャネルを 透過マスク に分けるものです。これによりアーティストは独立した環境で透過マスクに作業をすることができ、完了したらまた再統合します。
アルファチャネルの作業の仕方¶
レイヤードッカーのペイントレイヤーを
します。を選びます。
お好きな描画ツールで透過マスクに書いていきます。黒は透過(透ける)、白は不透明(見える)になります。グレーは半透明です。
アルファチャネルのみを独立させたいときは、
+ (または Alt +
ショートカット)を使います。透過マスクの編集が終わったら、
で を選びます。
透過範囲の色情報を維持したまま PNG テクスチャを保存する方法。¶
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:
レイヤードッカー上でレイヤーを
します。を選びます。
作成したマスクを
して を選びます。
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 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 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 action to properly save the result of this split alpha work. When exporting the result via , a compositing operation may (or may not) happen, clearing out the transparent areas.