I recently saw a video about getting Firestorm Viewer’s shadows to look as good as Black Dragon’s shadows. Huh? What?
The thing they were doing is getting hair shadows to render well on the avatar face. The video (4 min) I found has horrible audio. Luca The Guide, the author, was ill the day she made the video. So, I can’t complain too much. I don’t even try to make video tutorials when I am sick.
The video did get me looking and comparing Black Dragon and Firestorm. I launched Black Dragon (BD) and took a couple of pictures, see below. Then Launched Firestorm (FS) and took a couple.
With both, I used the same projector attached to the Center of Gravity attachment point aimed at my nose and in front and above my head. Both viewers were set to use the default environment in the Bellisseria region. Both viewers were using their default shadow settings.
They look VERY similar to me… shadow-wise. I did notice my lace top had alpha problems in BD and not in FS. I am pretty sure I haven’t changed anything in either viewer that would change how the texture alphas are rendered. But… maybe. So, I deleted all my settings for BD and relaunched. That corrected the alpha render problem with my hair and lace top. Everything else looked the same.
The video talks about using the viewer’s Debug Settings to tweak the shadows. FS has PhotoTools with a Shadows section in it. A few Debug Settings are mentioned in the video and commonly used ones of those settings are available in the PhotoTools. I couldn’t see some of the settings mentioned doing anything. But a couple do have to be changed for these shadows to work.
There are WAY more render settings in the Debug Settings than in PhotoTools. But the fun ones that make a difference and are commonly used are in the tools panel. Playing with the PhotoTools I made the shadows you see here. Remember. I am wearing a projector-face-light. You can learn how to make those with this kit.
The PhotoTools allow me to make the shadows you see in the image. I think those are pretty nice.
Next, I tried to get those shadows in BD. I couldn’t. Turns out I didn’t know how. I tried using the shadow controls in the Machinima Side Panel, which seem very limited compared to Firestorm’s PhotoTools.
Then I tried changing the Debug Settings. I was futzing with BD for a long time. I just didn’t feel like it was working. It wasn’t until later when I had closed and then opened the viewer that poof… the shadows were there. These:
I noticed the lace and hair problem is back. I’m not sure which setting I need to change. :/ But, it seems not all the settings kick in when they are changed. I think some may need a viewer restart to kick-in. And something may have reset with the second restart. I’ll have to keep experimenting to decide.
The Debug Settings to mess with are these. I’ve listed the PhotoTools label and matched it to the Debug Settings label. The first set is in PhotoTools in FS. I ended up using the Debug labels to get BD doing the shadows.
PhotoTool Debug Setting
Shd. Res † RenderShadowResolutionScale: Scale of shadow map resolution vs. screen resolution
Shd. Clairity † RenderShadowSplitExponent Y component
Shd. Blur † RenderShadowBlurSize: Scale of shadow softening kernel.
Shd. Soften † RenderShadowGaussian: Gaussian coefficients for 2 shadow/SSAO blurring passes (x and y work z is unused).
Blur Dist † RenderShadowBlurDistFactor: Distance scaler for shadow blur. 0.000
FOV Cutoff † RenderShadowFOVCutoff: Cutoff FOV to use ortho instead of perspective projection.
Shd. Bias † RenderShadowBias: Bias value for shadows -0.107
Next are a couple of Debug Settings that make a significant difference in how the hair-2-face shadows look. Tiny tweaks in these two can erase the shadows you see in the image above.
RenderSpotShadowOffset: Offset value for shadows 0.000
RenderSpotShadowBias: Bias value for shadows. -0.002
This next one is a performance vs quality setting. FS default is 3 – legacy which is the worst performance and best quality. It seems it has no effect on the hair-2-face shadow. It is, as best I can tell, for the avatar-on-ground shadows.
The next setting does not exist in BD. I suspect there is something similar in BD. I just can’t find it. While I can’t see an effect in FS I thought it might be something like this in BD that was preventing me from getting the shadows I wanted. But, turns out not. If you have a weak computer this is a setting that could help.
FSSimpleAvatarShadows: How to render deferred avatar shadows. 0=none, 1=simplified (no rigged mesh shadows), 2=optimized (slower but still faster than legacy when several avatars are around), 3=legacy (like the SL viewer, slow with complex rigged attachments).
Back to the opening line and the idea that one viewer has better shadows than another. I think that answer depends on which shadows you are comparing. With the hair-2-face shadows, there is not much difference.
Shadow rendering in the viewer is complex and the settings get complicated. I think BD has a better set of ‘outdoor’ shadows. I think Firestorm makes it easier to adjust shadows.