Standard with Subsurface Scattering
- Normal¥ 0
- Normal (Donation/寄付)¥ 1,000
A cheap subsurface scattering shader for Unity/VRchat that implements an approximation of a subsurface scattering effect, while keeping most of the options present in the Standard shader. Useful for both cloth and skin. To install, place the Shader/ folder with the shader into your Assets/ directory.
Usage
This shader features most (but not all) of the features available in the Unity Standard shader. You can drop in most kinds of texture map (if you set them in Standard, they'll be transferred over for you automatically.) The main difference is in the addition of the thickness map. You can create this map in a few ways. - Invert the normals of your model in Blender and bake ambient occlusion. This will create a "thickness" map. - If you use Substance Painter, you can set it up to generate a thickness map. Please see the Substance Painter documentation for more info. - If you're lazy, like me, you can use the "Invert Thickness Map" option to use a preexisting texture. For example, you can get a nice effect on character models by using a metalness map as your thickness, with "Invert Thickness Map". This will make light pass through everything but metal. Note that for best appearance, you'll want to adjust the Power variable. If your thickness map doesn't define a colour for the scattering, you should also set "Tint Scattering by Albedo" so that the SSS effect isn't pure white. From there, you can tweak the values as you see fit. I recommend leaving Intensity at 1, as SSS is normally a subtle effect, and Intensity is a straight multiplier.
License
You can access the development repository of the shader at https://gitlab.com/s-ilent/standard-subsurface-scattering This work is licensed under the MIT license. https://gitlab.com/s-ilent/standard-subsurface-scattering/-/blob/master/LICENSE For support or feedback, you can join the Discord. https://discord.gg/uHJx4g629K