Arcane University:NetImmerse Format/BSLightingShaderProperty
The BSLightingShaderProperty is the most common type of shader property used in Skyrim nifs. It defines the attributes of the material which is used for shading the mesh. It is suitable for most tangible objects. For objects which require more elaborate blending effects, an effect shader may be better.
Contents
Shader Types
There are several overall shader types which you can choose from. They are ordered here and in NifSkope generally from most common to least common. Each one uses the textures in its child block BSTextureSet slightly differently. Some of the data which is used in common across different shader types is outlined below:
- UV Offset: How much to offset the UV map.
- UV Scale: How much to scale the UV map.
- Texture Set: Which textures to use. This block can be shared among multiple shader properties within the nif, saving a small amount of memory and making it slightly easier to make changes if multiple shapes in the nif use the same textures.
- Emissive Color: Color of any glow effects. If the shader type is not "Glow Shader," it will make the whole mesh glow.
- Emissive Multiple: Multiplier on glow intensity.
- Texture Clamp Mode: Whether to clamp or wrap the UVs for vertices which fall outside the 0.0-1.0 range. Tiling textures must use wrapping. Non-tiling may use either wrap or clamp, but may be slightly more performant using clamp.
- Alpha: Overall opacity of the TriShape, zero being fully transparent, and one being fully opaque. Can be buggy, so use an alpha property instead whenever possible.
- Refraction Strength: Ranges from zero to 1.testing needed
- Glossiness: Inverse width of the specular highlight. Higher values are narrower, lower values are wider.
- Specular Color: The color of the specular highlight.
- Specular Strength: Multiplier on specular highlight intensity. Values between 0.25 and 1 are typical.
- Lighting Effect 1: Soft lighting intensity (must use soft lighting shader flag). Adds a glow through the object to simulate light being diffused and passing through the object. This is good for simulating translucence on objects such as leaves.
- Lighting Effect 2: Rim lighting intensity (must use rim lighting shader flag). Rim lighting is only visible when light is on the opposite side of the mesh and simulates light bending around the object and lighting it at the edges.
Default
The default shader is the most commonly used. It is good for most solid objects which do not require any additional shading effects. Shapes using the default shader should have a diffuse texture and combined normal/specular texture.
Environment Map
The environment map shader is also quite common. It provides a method of simulating reflectivity by using a prerendered environment texture as the reflection. This is applied additively to the mesh. It is commonly used for metals, ore, and ice. Shapes using the environment map shader should have diffuse, combined normal/specular, environment, and environment mask textures. The environment mask texture is used to define how strongly the cubemap is blended per texel. If no environment mask is assigned, the shader falls back on the specular map as a mask. The environment map shader is incompatible with glow mapping, so if you have a mesh for which you want to use both effects, you have to split it into parts, or overlay a partially transparent mesh.
To use the Environment Map shader, set the shader type and the Environment Map shader flag, and make sure the Glow Map shader flag is not set.
Values added:
- Environment Map Scale: Multiplier on environment map intensity. Values between 0.25 and 2 are typical.
Glow Shader
The glow shader is another very common shader type. This shader allows per-texel glow on a mesh, rather than simply full-mesh glow. The effect is applied additively using the color map in texture slot 2. Emissive multiple can be animated for a puslating glow effect.
To use the glow shader, set the shader type and the Glow Map shader flag, and make sure the Environment Map shader flag is not set.
Parallax
The parallax shader was used in Skyrim, but is broken in Special Edition. Enabling it requires either the SSE Parallax Shader Fix mod or ENB. It uses a single channel (grayscale) texture from slot 4. Zero (black) is maximum depth, one (white) is maximum height, and 0.5 (gray) is neutral.
Face Tint
Skin Tint
Hair Tint
Multilayer Parallax
Eye Envmap
Shader Flags
Further Reading
- BSLightingShaderProperty Basics: explains further about BSLightingShaderProperty node and its uses. Includes image examples.
