Bloom part adornments + Ability to control how colors are applied

In light of the recently planned removal of Legacy lighting and recent complaints from users regarding changes to certain features e.g. neon, I would like to propose a post processing effect that can be applied to parts individually as an adornment.

Proposal #1: Bloom adornment

This object is (ideally) a simple one to add. It is an Instance that can be parented to any BasePart that adds a bloom effect with several customizable options:

  • Apply bloom to the edge of the drawn geometry on-screen (Edge glow)
  • Apply bloom to the entirety of the drawn geometry (like new neon)
  • Customizable effect size / fade ratio

Certain use cases may be something like pseudo-celshading by creating a black bloom (See proposal #2) and setting its thickness to a very small value, or recreating the color gradient across neon parts in the Legacy lighting type.

Proposal #2: Color application method for bloom

Black bloom was a huge deal to a lot of people. There’s several ways that this could be added into the current system, and one way that I see fit is by implementing four potential color application methods. Of course, these methods may not exclusively benefit black bloom and would have a much broader use. The methods are: Subtract, Add, Multiply, and Override. These color application methods would act just like you would expect.

  • Subtractive application will cause an “inverted” effect on bloom. White neon (or a white bloom adornment) would result in a black halo around (or covering) the white part in question. Black neon / bloom would still do nothing.
  • Additive application will behave just as neon does now, where black does nothing and white is the brightest possible color.
  • Multiplicative application will cause white bloom to do nothing, and black bloom to create a dark halo around things. A gray halo would not draw a gray color, but rather darken the surrounding area by 50% (or however bright the color is). A colored effect would cause the surrounding area to take on that color multiplicatively (e.g. a red bloom covering a white block would draw red, but a red bloom covering a green or blue block would draw black)
  • Overwrite application will cause neon to behave as it did in Legacy where it simply draws the color in question over the part, using alpha to smoothly fade as distance increases from the source.

What are your opinions on something like this? I personally have quite a few use cases (lots of neat graphics tricks) but I want to see what other people have to say about it.

15 Likes