How to Handle Semi-Transparent Effects in OpenBOR Sprites

abulrezg

New member
Hi everyone,

I'm developing character sprites, and I'm facing an issue with semi-transparent effects.

As shown in the attached images, some animations contain motion blur, afterimages, smoke, and glowing effects. These elements are partially transparent and blend with the pink background.

The problem is that when I remove the background or convert the images to indexed colors using Magic Pink (#FF00FF) as the first palette color, these semi-transparent areas retain pinkish colors or lose their transparency.

My questions are:

  1. Does OpenBOR support partial transparency (alpha channel) within character sprites, or only a single transparent palette color?
  2. Is there a recommended way to preserve motion blur, smoke, glow, and fading effects without introducing pink artifacts?
  3. Should I separate these effects from the character sprites and handle them as independent effects using OpenBOR's transparency or blending features?
  4. Is there a recommended workflow for preparing these types of images in GIMP or Photoshop for OpenBOR?
I'm currently using:

  • Video resolution: 1920×1080
  • Color depth: 32-bit
  • Sprite format: PNG / Indexed colors with Magic Pink as the transparent color
I've attached three example frames demonstrating the problem.

Any guidance or examples would be greatly appreciated.

Thanks!


3 (2).png2 (2).png1 (2).png
 
@abulrezg,

Thanks for the examples. You’re on the right track with your suggestion about separating the effects. This follows the same workflow I explained in my earlier reply.

Does OpenBOR support partial transparency (alpha channel)…

OpenBOR supports per-pixel transparency through alpha masks, multiple blending modes, and independent opacity control for each color channel. You have plenty of control over the finished effect at runtime.

…without introducing pink artifacts?

The pink in your examples is already mixed into the faded fists and motion streaks. Those pixels have been blended against the pink background to make them look transparent. Removing the background leaves that pink inside the effects, and applying transparency afterward simply fades those same contaminated colors.

Keep the source artwork clean and let the engine produce the transparency. This lets the effect blend with whatever is actually behind it in the game.

Should I separate these effects…

Yes - that’s the right approach. Prepare a clean character sprite and a separate effect sprite, with the effect itself at full opacity. In game, spawn the effect and use OpenBOR’s native bind feature to keep it attached to the character and animation synced.

You can then control its transparency, blending, timing, and duration independently. This also gives you reusable effects and saves you from redrawing character frames whenever you want to change them.

Is there a recommended workflow…

In GIMP or Photoshop, keep the character, effects, and background on separate layers while working. Export the character and effects as separate assets, leaving the effects at full opacity and applying their transparency and blending in OpenBOR.

If you only have these flattened images, you’ll need to clean up or recreate the pink-tinted effect artwork first. The streaks also overlap the character’s shoulder, so the character needs clean artwork underneath them.

DC
 
Back
Top Bottom