I've been working on making some cool materials lately, and TheKeg showed me Dice's document on how they do their Sub Surface Scattering inside of Frostbite 2. The technology behind it isn't anything out of the ordinary, so naturally, I decided to try and bring it into UDK.
Here are the Results:
I used the code that Dice showed in this document
to create a custom shader inside of UDK. It actually wasn't too hard to do.
The most interesting part for me was playing around wit hrendering out decent "Volume" maps. All you have to do is invert the normals of your highpoly mesh, and then render out an ambient occlusion map. Inverse the colors of that ambient occlusion map and you have yourself a Volume map.
After playing in Photoshop, this is the result that i got.
Notice the lighter areas of the Unwrap are the tips of the crystals, and are lighter in color to allow more light to pass through. The bottom areas are darker in color, and let less light pass through. The lighter edges were added based on the normal map for a more stylized look.
You could get the same result in realtime by using a map like this in the "Transmission Mask" material slot, but when it bakes it doesn't look as convincing, and honestly what comes stocked with UDK is meant for things like skin, cloth, and membrane like materials.
The downsides of using this shader are threefold: It can't be baked, it can't cast shadows without ruining the effect, and it's for dynamic lights only. However, that usually goes unnoticed as long as the effect looks great. If you wanted to use this in actual production, you'd have to do some pretty crafty placement and composition to hide this among assets that use baked lighting.
Thanks for reading/watching, and thanks DICE for making this information public... it certainly is a cool little shader.
Questions or Comments, don't hesitate.