Ulight - The UnrealEd Light Color Manager
Ulight Screenshots F.A.Q. Download

Important Notes!

Read this, it will save you some time:

UnrealEd color values differ from the Standard Windows color values!

  • The Windows color values (H,S,L) range on a scale of 0-240. UnrealEd values range  on a scale of 0-255. That's why entering the same Hue value picked in the color picker  gives a slightly different color in UnrealEd.
  • Saturation in UnrealEd is exactly opposite of the definition of Saturation in the rest of the world. Normally the higher the Saturation, the stronger (purer) the color. The lower the Saturation the weaker the color (shades of gray). If you pick,for example, a nice royal blue with high Saturation in the color picker, the same high Saturation in UnrealEd gives a white light. You have to reverse the saturation, close to 0, in UnrealEd to get the same color.
  • Full Luminance in the color picker always gives a white color. In UnrealEd, you will still have a color tint at full Brightness (Luminance). The values in UnrealEd seem to top out correspondingly at approximately 200-210 Luminance in the color picker (depending on the color picked)

More Important Notes!

The values returned by Ulight are approximate for a couple of reasons:

  • Remember you are entering a LIGHT color in UnrealEd. What I mean is, the light that you see will be tinted by the textures it is reflecting off of. So if you put a nice vibrant blue light in a room with a very light colored texture, you will see a nice blue light. That same color reflected off a, for example, dark earthy texture will appear more muted. This is by its very nature what adds realism to the game (ever seen bright blue dirt?)
  • Aside from the above mentioned "Important Notes" the Windows Color Picker is limited in the values it returns that you can use for calculations. In fact, as far as I know, it only returns one value, a Unique Color number which is based on a composite of the separate RGB values.
  • Even though you can see and enter HSL values, the dialog will not return them for you to use externally. First, the standard RGB values must be stripped out of the Unique Color number. (these are accurate) Then the RGB values must be converted to HSL values. There are standard mathematical formulas for converting color values, (trust me, it took a while to find them and even longer to understand them...) and it is here that very slight rounding errors are introduced. It basically has to do with the fact that RGB space is a cube (remember Rubik's?) and HSL space is a double hexacone (whatever that is...) and in converting RGB to HSL (Specifically Hue) you are finding a percentage of a 360 degree "color wheel". When converting from the percentage to a whole number (remember the 0-240 range I mentioned earlier) you might get a rounding error, either high or low..
  • The bottom line in this is, you might notice HSL values being 1 off (high or low, depending on which way it was rounded). Hence, approximate values.

*WHEW*

MOST IMPORTANT NOTE!

To sum it all up, you will acheive the most realistic lighting effects by choosing a mid level Saturation! If you are an old hand at UnrealEd you probably already know this. If you are new to editing, remember this! Extremes of saturation can produce unrealistic (no pun intended) eye sores. Unless you are trying to induce an Austin-Powers-Inspired state of catatonia, stick to the mid level Saturations. Ulight will also return more (visually) accurate results at the mid levels.

Ulight Pro (?)

I am considering adding a "favorite colors" function to Ulight that will allow you to save a list of your most commonly used/favorite colors in a data file. That way instead of trying to remember or recreate a color, you could just pick it visually off a list inside Ulight and it will give you the values used. I am also thinking about adding a notes function to the list for storing whatever (where used, what map used on etc...) Let me know if you think this would be useful. Enough feedback and I will implement it.

(Non)Programmer's Notes

As this program was written in VB 6, it needs the VB6 runtimes to function. If you get a missing DLL message, just download the version WITH the VB 6 runtime.

The reason I say "Non" is this is my first VB program, EVER. So, if you have a question about Ulight or want to report a bug, I can probably deal with it. If you want to ask me an esoteric question about the proper syntax when creating your own ActiveX controls I will probably say "Huh?", become glassy eyed and commence to drooling slightly.

It took me about 25-30 hours to write this if you factor in all the time I spent at MSDN looking up code syntax and usage.

Thanks!

I'd like to thank:

  • Wolf - for a kick ass tutorial site (that was also easy for a newbie like me to understand)
  • EPIC - for the "best damn game, ever"...
  • ALL level designers out there - for keeping the "best damn game ever" fresh and freeing me from cumbersome worldy concerns such as eating or sleeping.

I hope you find Ulight helpful in your level editing ventures, and if you have ideas for improvement, please let me know.

- Mister X (February 2000)

Ulight and contents ©2000 Mister X