Light Manager User Documentation
The latest version of Light Manager is available from here.
There is also an icon in .bmp format here.
For some time now I've felt frustrated when working with large numbers of lights in Maya. Whilst the attribute editor offers complete control of all the light's functions it is hard to see how one light relates to another and therefore balancing one light against another can be very unintuitive. Additionally grouping lights together that all need to behave identically, say a series of spotlights on a factory floor is labourious.
In response to these needs I've written Light Manager. The theory behind it is that users can work faster and more intuitively if they can control all their lights from one interface which also provides feedback about what they're doing. I also find that I often use several single lights to mimic one "real" light source and therefore the ability to group several lights together to behave as one is a powerful one. An example would be using several spotlights to mimic one broader light-source to enable light to be wrapped around the subject. Light Manager is a standard MEL script and should therefore work on all platforms and should work in most versions of Maya.
Above is the default view of the Light Manager GUI. At the top are the light groups, initially only a default group is defined and beneath are the global controls. Let us first take a run through the controls that each light group has. At the right of each group's control box are sliders and controls for the light's colour and intensity. These will probably be the values that change most. The intensity is set per light so in order to know the total intensity of the whole group the Update Stats button in the global controls needs to be pressed. This will redraw the window with up-to-date information for the number of lights and total intensity displayed in each light group's title bar. At present there are no lights and hence zero intensity. Now let us move onto the light group buttons.
Delete will delete the light group and any lights still within it. Be warned this is not undoable.
Remove will remove any selected lights from the light group and strip off any attributes that Light Manager has added to the light. The light colour and intensity will be maintained as the values they held at the point of disconnection from the light group.
Sel All selects every light connected to this light group.
Hide Grp turns off the visibility and templates all the lights in the group. Useful for debugging lighting setups as renders can be done with individual light groups to determine their individual effect.
Rename allows the user to rename the group; "default" to be "keyLight" for example. Spaces, preexisting group names and punctuation are not valid in light group names.
Add Sel adds any selected light to the current group. A light can only be a member of one group at a time so if a light that is already in one group is attached to it another it ceases to be a member of the first group.
Now let us examine the Global Controls.
The first section is the area where new light groups are named and created. Simply type the name of the new group (no spaces, punctuation) and hit the Make Group button. The window will be redrawn with the new group at the bottom ready to have some lights assigned to it.
The second section in the Global Controls allows the user to add a float attribute to their Light Manager lights. This would be most often used as a hook to pass information to an external renderer like PRMan. For example a "shadowBlur" attribute might be added to control a RenderMan shader parameter. Any attribute added is automatically prepended to the list of attributes described below. This command can also be used to add an existing command that is not already on the list like "fogSpread" or any of the Mental Ray light attributes for example.
The third section is an attribute controller for less often used light parameters. Select the lights which are to have the new attribute value, pick the attribute to be set from the list and then enter the new value. Once these settings are correct hit OK and the attribute will be set on all selected lights.
Copy Sel. copies all the selected lights maintaining their connections to Light Manager.
Scale Sel. scales all lights to be unit scale (i.e. scale=1). This is a feature for PRMan users as there are issues with non-unit scaled lights if you are using deep-shadow maps. If these features of PRMan are not being used, this button will probably not be needed.
Select All selects every light in the scene that is in a Light Manager group.
Update Stats redraws the GUI with up-to-date stats for each light groups membership and total intensity.
Light Manager in Action
Here we can see a scene with a single light source, which I've named "keylight" that has been connected to the "default" light group in Light Manager. I'll also rename the "default" group to be "keyLight" as this is a more meaningful name. I can now start using Light Manager to adjust the light's settings. We also need to add some fill lights. In fact I add 3 fill lights and add them all to a new group I made called "fillLight". Using the set attribute global control I change all the fill lights to not emit specular. I also set the keyLight to cast raytraced shadows and the fill lights to cast shadow-mapped shadows.
This image shows the render of the key and fill lighting. Note that there are now 2 groups, "keyLight" and "fillLight". You can see that I've used the "fillLight" group's Select All button as all the group's members are highlighted in the Outliner.
Here I've added 2 further groups "rimLight" and "wrapLight" to add further control to my lighting set up. "rimLight" contains 2 lights which add the rim edge down the side of the statue and "wrapLight" contains 4 lights arranged in an arc around the other side of the statue to give a soft modeling light. The 4 wrap lights effectively mimic a single broader light-source like a soft-box in the real world. Without Light Manager you would have to treat these lights as individuals but here they can be put into one group, controlled as a single light and have their total output intensity monitored.
Above is the Light Manager GUI as used to render the statue. In order to see what effect the "wrapLight" group is having in isolation I have used the Hide Grp check boxes in the other light groups. this means that "wrapLight" is the only active group in the scene and only its lights will be rendered.
And in the Maya window you can see only the "wrapLight" members as all other lights are hidden and templated as you can see from the Outliner.
And here is the render. Only the "wrapLight" group has rendered enabling us to see exactly what is going on. By unchecking the Hide Grp boxes on the other groups they become active again and the final rendered image matches the previous version. I hope this shows how Light Manager can help you debug your lighting set-ups quickly in a non-destructive way.
Light Manager is in beta development at the moment but it is a functional piece of software that can be used in anger. I have found it much faster to work with than trying to wrangle many lights individually or through the attribute spreadsheet. I will be tweaking Light Manager over the coming months so look-out for updates. Light Manager is released under a "share and share alike" Creative Commons license as described below.
Andrew Whitehurst - August 2005
Version 0.86 changelog
A few minor tweaks in this release. I've edited the names of all the global procs to have a "lightMan_" prefix to prevent name clashing with other MEL scripts. If you're using any of these procs in your own scripts you'll have to update them. I've also fixed a bug that limited the maximum intensity of a light to 100. And lastly I've changed the number of options that appear in the attribute scrolldown window to be 5 rather than 2. I'll see whether the trade-off in terms of losing some screen real-estate is worth it.
Andrew Whitehurst - September 2005
I've used this software last on "Harry Potter and the Order of the Phoenix" but on more recent shows, the shift to using HDR based lighting has vastly reduced the number of CG spot-lights needed for a shot. Because of that I haven't been using, or updating, Light Manager. I did write a version for Double Negative that handled HDR map based lights within their custom lighting pipeline but I can't see a way of creating a more generic version for mass consumption. That being the case Light Manager is unlikely to get any revisions any time soon.
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.