Advanced Spotlight for DAZ Studio
Contents
Introduction
The Advanced Spotlight for DAZ Studio adds new features and greatly extends lighting control for more creativity and faster rendering.
The main focus of the light's design is aimed at faster shadow calculation. This is achieved through the ability to use of different shadow quality settings
for different surfaces. The user controls and internal code optimizations work together to make soft, ray traced shadows faster then ever.
In addition to speed improvements, the Advanced Spotlight includes a number of controls for extended artistic freedom.
These include several falloff rates, control of the beam's distribution and the ability to project texture maps from the light.
Important Concepts
The base settings of the Advanced Spotlight are very similar to the default DAZ Studio spotlight. Settings like intensity, light color and spread angle work in
the same way you expect from the DS default spot.
Beyond the familiar controls there are extra settings which allow you to fine tune the look by adjusting the softness of the spread angle, change the rate at which the intensity
decreases with distance, use textures for gobos (aka. cookies, gels or filters ) and blur or focus those textures with the turn of a dial.
The true strength of the light is really in the lighting control section which allows you to selectively adjust how the light behaves when illuminating different objects or surfaces.
Selective illumination is achieved by instructing the light to look for particular settings on surfaces in the scene. For instance, the light can be told to look for any
shader which has a diffuse strength of 99%. If the light finds a surface which matches that criteria it "flags" that surface as being one that should be treated in a special way.
The light has a drop-down menu with several options telling the light what to do for surfaces which have been flagged. The light can use lower or higher quality settings
for those surfaces, completely ignore those surfaces or only illuminate those surfaces.
I'm sure every DAZ Studio user has run into the situation where they had a nice looking, fast rendering scene... until they added that one,
slow rendering item such as transmapped hair or a refractive glass container. The flagging feature of the Advanced Spotlight allows for faster illumination and shadow settings
to be used on those troublesome surfaces.
Another common situation is when a little extra light is needed on one surface, such as an additional highlight on the eyes, but you don't want that light
to illuminate anything else. Through flagging, you can tell the extra spotlight to only illuminate the eye surface.
Although attempts have been made to clearly label the settings and make the light as intuitive as possible, some features may take a bit of trial and experience
before becoming part of a fast workflow.
The advanced features of the light may be a little confusing at first.
However, the light's dials have been set to defaults which should work well in most situations right out of the box.
Please note that the lighting and shadows will work on any surface but some of the advanced, surface flagging features will only
recognize materials which use the DAZ Studio Default, Ubersurface, HumanSurface, SimpleSurface or the AoA Subsurface Shader.
These shaders are used for the overwhelming majority of DAZ Studio based materials so it is rare that a user will encounter any limitation
with the light.
Quick Start
The light can be found in the content folder under Light Presets - Age of Armour - Advanced Spotlight.
Aim the light and adjust the spread angle just like you would the default spotlight. I find that viewing through the light and using the Aim At (or target) button
is the easiest method.
By default, the light has shadows enabled. To disable shadows simply set the shadow strength to 0%. This will bypass any shadow calculation.
The light uses an optimized ray trace function for shadows which, with the proper settings, will render much faster than the ray traced shadows of the default DS spotlight.
Mapped shadows are not available in this light.
As with the default DAZ Studio lights, the illumination drop-down list allows setting the light to selectively cast diffuse and/or specular
lighting. The Intensity and Light color also work the same as standard DS lights.
The most important settings to keep in mind are Shadow Samples, Shading Rate and Max Error. These settings all work in conjunction
as speed vs quality throttles.
The higher the Shadow Samples the slower the render but the smoother that soft shadows will appear.
Shading Rate and Max Error work the same way but in the opposite direction
where lower values produce quality results and higher values will render faster.
The remaining settings allow for more advanced customization and control over the light and are explained in detail below.
Take note that the Shadow Samples in DAZ Studio's render settings have no effect on this light. This is intentional, allowing for different shadow sample counts
to be used on different lights or surfaces for greater quality and render speed control.
Also note that a Max Ray Trace Depth of 1 or higher is required for shadows to work with the Advanced Spot Light.
Quick Tips
General
- A PDF version of this guide should be available in your DAZ Studio "ReadMes" folder. Additionally, you can download this guide for offline viewing
by right clicking any blank area of this page and selecting Save Page As...
- The spotlight also serves as a point light when the Spread Angle is set to 360 degrees. The directional intensity of the light can then be
adjusted using the Inner Angle
- As with most lights, the illumination itself is fast to calculate but shadows can be slow. Rendering can be made faster
by setting Cast Shadows to off for little seen, or out of focus, background objects. By default the light will respect object shadow settings and
not calculate shadows for these items.
- A Shadow Samples setting of 0 disables shadow calculation. This can be used to selectively control which surfaces receive shadows
by flagging the surface then setting the light to Use Alt Samples for flagged surfaces and set the Alternate Samples to 0.
- Primitive hitmode can produce substantially faster renders than Shader hitmode. Using this setting for draft renders
or in scenes where no transparency maps are used can be a huge time saver.
- Since Primitive Hitmode may produce shadows which are too dark on or around transmapped surfaces, you
can flag the transmapped surfaces, and the surfaces receiving shadows from the transmapped items, then set the light so that it uses
Shader Hitmode for these surfaces only.
- Try a low Subsurface Samples setting since SSS will often look smooth even at far lower shadow sample rates than general diffuse surfaces.
This can greatly improve SSS lighting precalculation times.
- Different lights can be used to illuminate different surfaces. Try using a light with faster settings for transmapped surfaces.
- Holding Shift or Control (Command on a Mac) while selecting lights can allow for the settings of multiple lights to be adjusted at once.
- If you want to quickly match the settings on multiple lights, you can select one light, hit CTL+C to copy the light's settings
then, with the other lights selected, use CTL+V to paste the settings.
This can be useful for quickly setting up different lights to illuminate
different surfaces. After matching the lights simply set one to Illuminate Flagged Surfaces Only and the other to
Don't Illuminate Flagged Surfaces
- Smaller Shading Rates often produce more accurate shadowing on objects with fine detail.
- Although rendering my be slightly slower, objects with Sub-D applied usually look significantly nicer in renders then those where the base mesh is used.
- Other than specular, 100% reflective or refractive objects, such as chrome and clear glass, often look the same even with
no light or shadows hitting them.
Rendering can go faster by flagging such items to not receive shadows (a setting on some surface shaders) or flagging
the surfaces so the spotlight does not illuminate them at all.
Light Group
The parameters of the Light group contain settings which are familiar to, and work much the same as, those of standard DAZ Studio Lights.
In this group you can adjust the color, shape and intensity of the light as well as control the falloff of the light.
Falloff Rate determines the formula used to calculate how the light intensity diminishes over distance. A setting of None matches the formula of the
DS default spotlight while Squared creates a physically correct effect where the light's intensity will decrease at the inverse square of the distance.
Because Linear and Squared falloff formulas cause brightness to drop very quickly over distance, the light attempts to auto correct for this and
(internally) increases the intensity at the source. The auto correction may make the light appear brighter or darker when changing from one falloff rate to another
so you may need to ajdust the Light Intensity to better fit your scene.
- Illumination - Drop down menu to set the light to On (cast both diffuse and specular light)
Diffuse only, Specular only or Off.
- __category - A text name may be entered into this setting to allow surface shaders, with custom illumination loops, to process
only lights with a matching category name.
- Light Intensity - Sets the overall strength of the light. The limits of this setting can be increased if a very bright light is necessary
or set to a negative value to create a light which darkens areas of the scene rather than illuminating them.
- Light Color - Color popup allowing overall hue adjustment of the light's illumination.
- Spread Angle - Sets the outer radius of the light cone. The value is in degrees so a setting of 10 will cast a very narrow beam and
a setting of 360 will cause the light to become a point light, essentially like a round light blub.
- Inner Angle - The inner angle creates a "hot spot" in the center of the light cone. Its radius is a percentage of the Spread Angle so
a Spread Angle of 90 degrees and an Inner Angle setting of 50% will cause a 45 degree inner hotspot with the brightness fading smoothly as it approaches
the outer Spread Angle. A setting of 0% creates the softest possible light cone while 100% creates a very sharp illumination disk.
- Falloff Rate - This dropdown menu offers four options to control how light intensity will degrease over distance.
None works the same as the default DAZ Studio Spotlight in that light does not lessen in strength over distance. This is like having a flashlight
that you could shine from earth and have it brighten the moon. Though this is not physically correct, the effect is useful and generally easier
to set up than other falloff settings. There is sometimes an appearance of falloff but this is only due to light striking surfaces at sharper angles over distance.
Linear - With this setting enabled the light strength will decrease at a rate which is directly proportional to the distance the light travels.
The brightness at 8 feet from the source will be 1/2 as strong as it is at 4 feet and at 16 feet it will be 1/2 that of 8 feet. This also in not a true to life
result but does have a more convincing appearance than using no falloff, especially when using atmospheric volumes.
Squared causes the light to decrease from the source at the physically correct, inverse square rate. Using this method creates very believable
lighting, especially within volumetric atmospheres, but can be a little more difficult to use because of how rapidly the light strength drops.
The light can be 10,000 times brighter at the source than it is just a few meters away. Because of this, items very close to the light may be overly bright,
to the level of causing render artifacts, while objects further away may be barely visible.
Custom - This setting is used in conjunction with the Custom Max Range slider below. The light strength will fade uniformly from full strength to 0
across the distance between the light source and the Max Range. So, with this function, to have an object which is 2 meters from the light illuminated at 100% intensity
you could set Custom Max Range to 4 meters and Light Intensity to 200%.
- Custom Max Range - Only functions when in the above mentioned Falloff Rate - Custom mode. This determines the distance at which the
light will be at 0% intensity. The limits of this setting can be increased or disabled if a longer distance is needed. A setting of 0 meters overrides this setting,
causing the light to have essentially no falloff.
- Gobo - Allows a texture map to be loaded to color the light. This can be used to create the effect of a slide projector or blurred to create the look
of the light shining through leaves or underwater caustics. The feature also supports HDR images which can be used change the profile of the light
similar to an IES light.
- Gobo Scale - Sets how large the gobo texture appears in the light's field of view. Smaller values will cause the texture to tile.
- Gobo Blur - This procedurally blurs the projection of the Gobo image to create the look of light passing through a "cookie" or create soft color fluctuation to
simulate things such as fire light.
Shadow Group
Click here for a larger image.
The parameters in the Shadow group adjust the appearance and quality of ray traced shadows.
There are several speed enhancements, such as adaptive sampling and primitive hitmode.
These enhancements may not look good in all situations.
Fortunately, because of the advanced control of the light,
you can selectively illuminate different objects with different shadow settings or different lights.
This allows for the speed enhancements to be turned off
for surfaces where higher quality settings are needed yet keep the fast rendering optimizations
for surfaces where the enhancements will have no negative effect.
An interesting point to note is that shadows are calculated by shooting rays from the surface toward the light rather than the other way around.
This is important to keep in mind when using different settings for flagged surfaces.
When you use Alternate Samples settings on a surface, for instance hair, remember that the light will use lower samples only for
the shadows the hair receives or casts onto itself. The shadows which the hair casts onto other objects will use the higher Shadow Samples
setting (unless those surfaces are also flagged to use the Alternate Samples setting.
That may sound counter intuitive but it is simply how RenderMan shading works. Shadows are calculated at points on the surface, comparing
their positions to the light source, and casting shadow rays to see if something is blocking the path between the surface and the light.
Although it may not seem that there would be a much of an improvement for a transmapped surface to lower the samples it receives rather than lowering
the samples of the shadows it casts, it does in fact, greatly reduce rendering times.
- Adaptive Sampling - When enabled, the light will use fewer shadow sample iterations in areas which may require fewer samples.
In these areas the sample count can be as low as 1/4 the Shadow Samples setting.
As shadow quality may suffer, it is recommended that this setting be used only when Shadow Samples is set to 64 or higher.
- Shadow Color - Sets the overall hue of shadows.
- Shadow Strength - Adjusts the strength, or contrast, of shadows. A setting of 0% will completely disable shadow calculations for the light.
- Shadow Softness - This setting causes shadows to spread softly with distance from the shadow casting object. Softer shadows should be
accompanied by higher Shadow Samples settings. Conversely, there is little benefit of high sample counts when sharp shadows are used.
- Shadow Samples - Declares the highest number of rays which will be cast from a surface point to check for a shadow casting object.
Higher samples generally create shadows which are less grainy, though overall quality or speed is determined by a combination
of Shadow Samples, Shading Rate and Max Error. A setting of 0 disables shadow casting.
- Alternate Samples - This setting is the same as Shadow Samples but an alternate rate which can be used on
surfaces flagged conditionally with options in the Lighting Control Group. A setting of 0 disables
the receipt of shadows for surfaces flagged to use the Alternate Samples setting. This can be very useful to cause select surfaces to cast shadows but
not receive them.
- Subsurface Samples - Another alternate sample rate which will only be used in the pre-render, subsurface scattering calculation pass
in scenes containing subsurface shaders. The Shadow Samples setting will still be used for the diffuse portion of these shaders but
subsurface calculation will have a speed benefit from using a lower sample count (even as low as 1 or 2 samples) with little or no noticeable
quality loss. Setting this parameter to 0 will cause shadows to be disabled during the subsurface precalculation.
- Shading Rate - Similar to the setting of the same name located in DAZ Studio's render settings, this parameter adjusts how frequently
to sample surface areas for shadows. Higher values render considerably faster but the results tend to look washed out and detail may be lost.
The setting is roughly based on geometry and screen space. At a Shading Rate of 1 the geometry under every image pixel will cast
rays to detect shadows. At a setting of 16, rays will be cast from the surfaces only, approximately, every 16th pixel and the result interpolated
over the area of the 16 pixel shading grid.
This setting, and overall shadow quality, is strongly influenced by Max Error and Shadow Samples.
- Max Error - A speed versus quality adjustment which sets the maximum allowable interpolation error of the Shading Rate.
Higher Max Error values will render substantially faster. Note: The light's Shading Rate setting must be greater than 2
for the Max Error speed benefit to kick in.
- Shadow Bias - Like the bias setting on other lights, this offsets the shadow calculation a slight distance away from the surface
to avoid self shadowing artifacts. If shadow artifacts do appear try increasing the bias, apply Sub-D to the geometry or use
Hit Sides - Front.
- Shadow Clamp - This limits the shadow calculations in areas where the light intensity is very low such as
distant areas when using falloff, the edges of a very soft light cone or when using a gobo texture with many dark areas.
In these cases there may be large areas within the range of the light which are so near black that calculating shadows is pointless.
This feature is strongly affected by the Gamma setting in DAZ Studio's render options. At a gamma of 1.0 and the Shadow Clamp setting at the maximum of
0.02 there will likely be no noticeable image difference. As the gamma setting is increased lines or gaps may appear in areas where shadows cross the
penumbra of the light cone so the Shadow Clamp setting will need to be lowered.
This setting will likely only be needed in rare cases. The real benefit shows when using volumetric atmosphere, in
which case increasing the Shadow Clamp value can greatly improve render times.
- Hitmode - This option tells the render whether it should examine a surface's transparency for every shadow ray
(Shader Hitmode) or if it should examine only the base opacity strength setting once.(Primitive Hitmode).
Because Shader Hitmode requires the entire surface shader code to be run and be examined it is usually much slower than
Primitive hitmode. The drawback to Primitive hitmode is that only the opacity strength of a surface is considered... transparency maps
and procedural transparencies are ignored. This causes things like transmapped hair to cast darker, inaccurate shadows.
In scenes where there are no transmapped surfaces, such as architectural renders, you may gain a substantial render speed benefit
from using Primitive Hitmode without any noticeable image quality loss.
- Hit Sides - This tells the shadow ray function which side of a polygon to consider in shadow calculation.
Front only casts rays from, or hits the side of faces where the shading normal points in a positive direction.
This can sometimes prove useful with creative application. It also works around a long time issue in DAZ Studio where non-subdivided
3d models would appear to have blocky artifacts along the diffuse terminus where light hits curved surfaces at a glancing angle.
Back does the opposite, only casting rays from the negative geometric normal facing direction.
Although this setting generally does not produce desirable results, it can be employed selectively to speed up renders
by using it on "Proxy" or "Fantom" objects creating simplified shadows which cast in one direction only.
Setting this to Both casts shadow rays and considers hits from both sides of a micropolygon. This option usually produces the best results.
Lighting Control
The features available under the Lighting Control group allow you to set how the light behaves for different surfaces and objects.
This is where I feel the benefits of the Advanced Spotlight really come through.
The light examines all the shaders in the scene and looks for certain settings or "flags." The light can then, at your discretion,
adjust the lighting differently for the flagged surfaces.
The light can be told to use lower shadow samples for flagged surfaces, illuminate them at different strengths or even completely ignore those surfaces.
It is also simple to have the light only illuminate surfaces which have been flagged. This allows for different surfaces
to be illuminated by different lights for ultimate control of your lighting.
- Set Light Strength with Surface Ambient Strength - When enabled, the Advanced Spot Light will multiply the
Light Intensity setting by the surface's Ambient Strength setting.
This allows the light strength to be fine tuned for each surface individually.
Only the surface's Ambient Strength setting is used, not the Ambient Color. Because of this, the surface's ambient color
can be set to black, ensuring the surface does not need to glow in order to use this feature.
- Object Cast Shadows - With this set to Respect Object Settings, shadows will not be cast from objects
which have their Cast Shadows switch set to off. The light will also respect the Receive Shadows setting available
on some surface shaders.
An object's Cast Shadows setting is found by selecting the object
or figure's root node and looking under the Display group in the Parameters tab.
When the light is set to Always Cast AO Shadows it will, as the name suggests, calculate shadows even for objects which are set
to not cast or receive shadows.
- Flag Surfaces With - This drop-down menu offers several options to instruct which surfaces the light should
flag and treat differently.
None disables flagging and the light will treat all surfaces in the same manner.
With the second option the light will flag surfaces which have their Diffuse Strength parameters set to a value matching the
Diffuse, Ambient or IOR Value setting immediately below.
The light can also flag any surface with its Ambient Strength or Index of Refraction parameter
set to the Diffuse, Ambient or IOR Value. Note that, for the AoA Subsurface Shader,
Reflection Index of Refraction is the parameter that the light examines, not the IOR in the Subsurface Scattering group.
The forth option in the drop-down menu will have the light flag any hair which uses the Garibaldi hair shader.
Attempts were made for the light to recognize and flag the Look At My Hair shader but, unfortunately, due to the way
its hair shader works, it was not conducive to flagging.
The final option in the drop-down menu, Any of these, will cause the light to flag any and all surfaces where the light
finds a Diffuse Strength, Ambient Strength or Index of Refraction matching the Diffuse, Ambient or IOR Value
as well as any hair using the Garibaldi hair shader.
- Diffuse, Ambient or IOR Value - This is the setting that will be used to match values on surfaces which are to be flagged.
For instance, let's assume you have a slow rendering glass surface which has an index of refraction of 1.35 and you don't want to be illuminated by the light.
You would set the Flag Surface Shaders With to Index of Refraction Value Of..., then the Diffuse, Ambient or IOR Value to 135%
and If Surface is Flagged to Don't Illuminate
- If Surface is Flagged - This menu works in conjunction with the Flag Surfaces With and Diffuse, Ambient or IOR Value settings.
If a surface is flagged you can choose from several ways the light should react to that surface.
The first option, Don't Illuminate, will instruct the light to completely ignore any surface which has been flagged.
No light or self shadowing will be calculated for the flagged surfaces.
Illuminate Flagged Only will cause the light to do the opposite as the previous setting. The light will only illuminate
and calculate shadows for surfaces that are flagged. This and the above setting can be very useful to have different lights
responsible for illuminating different surfaces.
Use Alt Samples will instruct the light to illuminate all objects but use the Alternate Samples setting
for surfaces which are flagged. This can be used to improve rendering speed by flagging slow rendering or less important background objects.
Use Shader Hitmode can be used when the light's Hitmode is set to Primitive but one or two surfaces with transparency simply
do not look good under the Primitive hitmode. Those surfaces can be flagged to use the slower Shader hitmode
while still receiving the speed benefit of having all other surfaces use the faster Primitive htimode.
Use Primitive Hitmode is intended to provide a rendering speed improvement, when the light is in Shader Hitmode,
by flagging a few surfaces which can benefit from the Primitive hitmode without the image quality suffering.
Use Shader Hitmode and Alt Samples - This is primarily intended to improve the rendering speed of transmapped hair. It allows the surface
to use correctly calculated transparency maps but at a lower shadow sample count.
Use Primitive Hitmode and Alt Samples - Flagging a surface and using this setting will likely produce the fastest results for the
flagged surface. Because of the Primitive hitmode, this setting may not look correct for transparency mapped surfaces but could be useful for
background items or, simply, for setting transmapped hair to a fast rendering option during draft or test renders.
Known Issues
Very Rare Conditions - The Advanced Spotlight will see and respect the Occlusion Shading Rate and Override settings
of the UberSurface shader in all cases except when Ubersurface's Occlusion Shading Rate is set to exactly 4. All other Occlusion Shading Rate settings will
function properly. This was simply a limitation that had to be incorporated in order to allow for greater overall light flexibility.
Only when using volumetric atmosphere All functions of the light work well with volumes (many of the images in this user guide were
rendered from my atmospheric cameras) with the exception of when the light is set to have different intensities for flagged surfaces such as using the
Set Light Strength with Surface Ambient Strength feature. This is likely to cause artifacts surrounding the lower intensity surface.
The issue is a difficult one to resolve due to how atmospheric volumes work. I continue to test new light and volume codes in the hopes of finding a fix.
Somewhat Common - At the time of this writing, all surface shaders will be properly illuminated by the Advanced Spotlight
but flags can only be read from surfaces which use the DS Default shader, UberSurface, HumanSurface, SimpleSurface and the AoA Subsurface Shader.
I'm experimenting with some DAZ Studio scripting which may allow shaders created in Shader Mixer to be updated and allow for proper flagging.
When using copy and paste - After using CTL+C and CTL+V to copy the settings from a default DS light and pasting those settings onto an Advanced Spotlight,
if the Advanced Spotlight is then turned off, using the eye icon in the Scene tab, you may not be able to turn the light back on again. This
bug is perplexing and I have not yet been able to track down the cause.
When using copy and paste - Using copy from a default DS light which has shadows turned on then pasting onto the Advanced Spotlight, will cause
DAZ Studio to attempt top use its builtin shadow functions which the Advanced Spotlight was not designed to support such as Deep Shadow Maps. This will cause the light
to render black.
This situation is easily resolved by setting DAZ studio to show hidden parameters, selecting the Advanced Ambient light and changing the hidden
Shadow Type (Warning DO NOT USE) dropdown to None. The light should then perform correctly.
It appears DAZ Studio requires this menu for all lights. When I removed it from the code, DS replaced it upon loading the light, haha. The
best solution I could find was to hide the setting and add a warning not use it.
Top
Introduction
Important Concepts
Quick Start
Parameter Settings
RenderMan (R) is a registered trademark of Pixar.