Some of my effects have hard/soft light and I have RGB color mode, but after exporting all effect layers has 255 opacity (even with normal mode)
After exporting normal layer with 192 opacity it’s 255
As you can see it’s not a little transparent
I don’t know what can I do. I tried with making New Palette from Sprite but it doesn’t work too.
dacap
January 4, 2024, 2:07pm
2
Hi @Hantalowsky , to what file format are you exporting your file? could you share the original .aseprite
file with us at support@aseprite.org (name this thread)?
I use png.
I can’t share it rn because I can have problems if I do it
I can do something similar with the same effects and send it.
I sent mail with similar file
dacap
January 8, 2024, 6:58pm
5
Hi @Hantalowsky , thanks for sending a file. It’s a tricky situation. Actually there is no “good way” to export a non-normal blended layer in isolation.
Some details in this issue:
opened 01:25PM - 26 Apr 16 UTC
closed 03:44PM - 09 Mar 19 UTC
bug
critical priority
render
Basically, we should ignore special blending modes when we've to composite pixel… s over transparent. Instead of applying the layer blending mode to the checked grid (which are transparent pixels for the UI, and do not represent the final result), we should use the normal blending mode when the final pixel/backdrop is transparent. (It is what Photoshop does in this case.)
When we have a layer with non-Normal blending mode (e.g. Overlay blending mode), we've to take special care of pixels that are composite with the transparent background (the gray checked background). For those pixels, the Normal blending mode must be used anyway (because the final render when we export cannot identify that those pixels should be rendered with other blending mode, there is no-blending mode property per pixel in the final render/or file format).
---
Example: Here's the duck is the foreground layer with the `Color` blending mode, and the gradient is at the bottom:
* This is the old blending mode, pixels that are blended over the checked background are blended with the `Color` blending mode anyway (makes sense only for a preview point of view, but not for persistence):
<img width="419" alt="screen shot 2019-02-26 at 08 14 39" src="https://user-images.githubusercontent.com/39654/53409175-149e1b00-399f-11e9-8768-ccc80c26fa13.png">
* This is the new blending mode, pixels that are blended over the checked background are blended with the `Normal` blending mode:
<img width="424" alt="screen shot 2019-02-26 at 08 14 46" src="https://user-images.githubusercontent.com/39654/53409186-1cf65600-399f-11e9-8d87-e237ab871183.png">
* When we export with the old blending mode we get this (pixels are blended with transparent, without check background, so we lost the original pixel information):
![color-old-render](https://user-images.githubusercontent.com/39654/53409235-2f708f80-399f-11e9-96a6-b27945e4ff91.png)
* And when we export with the new blending mode we get this other result (we do not lost the original pixel information):
![color-new-render](https://user-images.githubusercontent.com/39654/53409258-3ac3bb00-399f-11e9-9c14-460bfa31fd81.png)
In this way the new blending mode is consistent between Visual Preview <-> Export Result on disk.
The problem here is that you should load the sprite information (each raw layer png + layer opacity + blend mode info) and then make the composition manually. (Not sure if that is what you want to achieve, as it’s quite complex, is like replicating the Aseprite rendering process.)
Probably we could export the non-normal blending mode layers with the opacity already applied but normally blended with transparent color, but not sure if it will make the same effect (I think it will).
Just in case, how are you exporting each layer?
dacap
March 4, 2024, 2:40pm
6