-
Notifications
You must be signed in to change notification settings - Fork 36
Standard Shader
The Standard Shader (Mochie/Standard) is a PBR shader for world surfaces. It features extra sampling modes, parallax occlusion mapping, rain and puddles, wind, and support for Bakery, VRChat Light Volumes, LTCGI, and AreaLit. Screen space reflections require the Depth Light prefab in Assets/Mochie/Unity/Prefabs, or any directional light with shadows enabled.
| Variant | Description |
|---|---|
Mochie/Standard |
The full feature set. |
Mochie/Standard Lite |
Fewer shader variants for faster compile times. Omits screen space reflections, Vertex Manipulation, Subsurface Scattering, and the detail Metallic/Roughness/Occlusion maps. Detail textures use the primary sampling mode. |
Mochie/Standard Mobile |
For mobile and Quest. Omits everything Lite does, plus the Stochastic/Supersampled/Triplanar sampling modes, height mapping, Rain, Puddles, emission pulse, the emission mask, and the alpha source option. |
Create a material with Assets > Create > Material (Mochie Standard / Standard Lite / Standard Mobile), or swap many materials between variants with Tools > Mochie > Global Standard Settings.
-
Specular Model: The lighting model used for reflections and specular highlights.
-
Unity Standard: Matches Unity's Standard shader, so materials look the way artists expect from Unity. -
Google Filament: Google's physically based model. Its fresnel is less intense at glancing angles, and it calculates specular occlusion automatically from the lighting, so reflections darken naturally in shadowed and occluded areas.
-
-
Blending Mode: How the surface handles transparency.
-
Opaque: The default. The surface is fully solid and ignores alpha. -
Cutout: Pixels with alpha below Alpha Cutoff are removed, giving hard-edged holes, like leaves or chain-link fences. Edges are smoothed with alpha to coverage when MSAA is on. -
Fade: Smooth transparency that fades everything, including reflections and highlights, based on alpha. Good for things that should disappear entirely, like fading decals. -
Transparent: Smooth transparency that keeps reflections and specular highlights visible on transparent areas, so it behaves like real glass.
-
-
Alpha Source (non-opaque modes; not in Mobile): Where transparency comes from.
-
Base Color Alpha: The alpha channel of the Base Color texture, multiplied by the color's alpha. -
Alpha Mask: A separate texture, set in Primary Textures. -
Vertex Color Alpha: The alpha of the mesh's vertex colors, so transparency can be painted onto the mesh.
-
- Smoothness Mode: Treats roughness maps and values as smoothness instead, where white is smooth and black is rough. Useful for textures made for Unity's Standard shader, which uses smoothness.
-
Triplanar Coordinates (when a sampling mode is Triplanar): Which space triplanar textures are projected in.
-
Local: Textures stick to the object and move with it. -
World: Textures are projected in world space, so they stay seamless across separate objects but slide across an object when it moves.
-
-
Mip Map Rescaling (Cutout only): Keeps cutout surfaces from thinning out and disappearing at a distance, a common problem where lower-resolution mip maps blur the alpha until it falls below the cutoff.
- Mip Map Scale: How strongly alpha is boosted at a distance. Raise it if distant foliage still thins out; lower it if distant cutouts look too thick.
- Alpha Cutoff (Cutout only): The alpha threshold. Pixels below this value are removed.
Mobile: Cutout can be extremely expensive on mobile platforms. Avoid it there if at all possible.
In Lite and Mobile, the Workflow, Sampling Mode, Packed Height, and Roughness/Smoothness Source settings appear in this section instead of Primary Textures.
-
Workflow: How the PBR textures are set up.
-
Metallic: Separate texture slots for metallic, roughness, occlusion, and height. -
Packed Metallic: Roughness, metallic, occlusion, and optional height packed into the channels of one texture. This improves performance and file size. -
Specular: A specular map defines the color and strength of reflections directly, instead of a metallic value.
-
-
Sampling Mode (Standard and Lite): The method used to sample textures throughout the shader.
-
Default: 1 sample per texture. -
Stochastic: Uses the UVs to generate pseudo-random sampling positions that hide tiling artifacts, so repeating textures don't show an obvious grid. 3 samples per texture. -
Supersampled: Handles mip mapping manually to reduce blurring and shimmering when viewing a surface from sharp angles. 4 samples per texture. -
Triplanar: Ignores UVs and projects textures from the X, Y, and Z directions based on the surface's facing, blending between them. Useful for meshes without good UVs, like rocks and terrain. Up to 3 samples per texture. Height mapping isn't available in this mode.
-
- Packed Height (Packed Metallic): Enables parallax height mapping from the selected channel of the packed texture. Only enable this if your packed texture actually contains a heightmap.
-
Roughness/Smoothness Source (Specular): Where roughness (or smoothness) comes from.
-
Roughness Map: The separate Roughness texture. -
Specular Alpha: The alpha channel of the specular map, as in Unity's Standard (Specular setup) shader.
-
- Base Color: The unshaded color of the surface (RGB) and its transparency (A), with a color multiplied over it.
- Alpha Mask (when Alpha Source is Alpha Mask): A separate texture that controls transparency. Black is transparent and white is opaque. Includes an opacity multiplier and a channel selector for which channel to read.
- Normal Map: Determines how light behaves on the surface. Mainly used to fake small details or smooth bevels on sharp edges without adding geometry. The value sets how strong the effect is.
- Metallic (Metallic): How metallic the surface looks. Higher values reduce the visibility of the base color in favor of reflective color, simulating metal. Lower values look more like plastic. The map is multiplied by the value.
- Specular Map (Specular): The color and brightness of reflections and specular highlights, with a color multiplied over it. Bright, colored values give metal-like reflections; dark gray values give plastic-like reflections.
- Roughness (or Smoothness): How rough or smooth the surface looks. Rougher surfaces scatter more light instead of reflecting it like a mirror, giving blurrier reflections and broader, softer highlights. The map is multiplied by the value. In Specular Alpha mode, only the value is shown.
- Occlusion: Extra shading that simulates contact shadows in crevices and corners where less light reaches (think of how the DVD logo almost never perfectly bounces into the corner of the screen). Darker areas of the map get darker shading. The value sets how strong it is.
-
Height Map (Metallic and Specular; not with Triplanar or in Mobile): Uses parallax occlusion mapping to make the surface look like it has real depth, so bricks and cobblestones appear to stick out and shift correctly as you move. White is high and black is low. The value sets how deep the effect is.
- Height Mask: Limits where height mapping applies, with a channel selector. Black areas are flat.
- Height Samples: How many steps are used to trace the height. More samples look smoother, especially at sharp angles, but cost more.
- Height Offset: Moves the whole height map up or down. Use it to hide artifacts or change whether details appear raised or sunken.
-
Height Falloff: Fades the height effect out with distance, which helps performance in large environments.
- Min Range: The distance, in meters, where the fade begins.
- Max Range: The distance, in meters, where the effect is completely gone.
- Packed Map (Packed Metallic): One texture containing roughness, metallic, occlusion, and optionally height in its channels. Which channel holds what is set below.
- Height Mask (Packed Metallic with Packed Height): Limits where height mapping applies.
- Pack Textures (Metallic): Packs the separate Metallic, Roughness, Occlusion, and Height maps into a single new texture, then switches the material to Packed Metallic with the channels set up automatically.
Enabled with the Emission checkbox. Emission adds color after all lighting calculations, so the surface appears to glow.
-
Global Illumination: Whether the emission lights up the surrounding scene when lighting is baked or calculated in realtime (
Realtime,Baked, orNone). -
Pulse (not in Mobile): Makes the emission brightness pulse using the selected waveform.
-
None: No pulsing. -
Sin: A smooth rise and fall. -
Square: Switches between fully on and fully off. -
Triangle: A steady rise and a steady fall. -
Saw: A steady rise, then an instant drop. -
Reverse Saw: An instant rise, then a steady fall. - Pulse Strength: How much the pulse dims the emission. At 1 the emission fades all the way out at the low point of the pulse.
- Pulse Speed: How fast the pulse repeats.
-
-
Audio Link: Makes the emission react to music using VRChat AudioLink. Choose which frequency band drives it:
Bass,Low Mids,Upper Mids, orHighs.- Audio Link Strength: How much the audio affects the emission. At 0 the emission ignores the audio.
- Remap: The emission brightness when the band is silent (min) and when it's at full volume (max).
- Audio Link Meta Pass: Also applies AudioLink to the emission used for realtime global illumination, so the light cast onto the scene reacts to the music too. Enable it only if you're using realtime GI.
- Color: The emission map, HDR color, and strength. The map is multiplied by the color and strength.
- Mask (not in Mobile): Limits where emission appears, with a channel selector. Darker areas reduce the emission; lighter areas keep it.
- Metallic Channel: Which channel of the packed map holds metallic.
- Roughness Channel (or Smoothness Channel): Which channel holds roughness.
- Occlusion Channel: Which channel holds occlusion.
- Height Channel (with Packed Height): Which channel holds height.
- Metallic Strength: Multiplies the packed metallic value.
- Roughness Strength (or Smoothness Strength): Multiplies the packed roughness value.
- Occlusion Strength: How strongly the packed occlusion darkens the surface.
- Height Strength (with Packed Height): How deep the parallax effect is.
- Height Samples (with Packed Height): How many steps are used to trace the height. More samples look smoother but cost more.
- Height Offset (with Packed Height): Moves the whole height map up or down.
-
UV Set: Which coordinates the primary textures use.
-
UV0βUV4: The mesh's UV channels. -
World: The world position of the surface. One tile covers 5 meters before tiling is applied, and textures stay seamless across separate objects. -
Local: The object's local position. One tile covers 10 units before tiling is applied.
-
-
Swizzle (World and Local): Which two axes are used as UVs:
XY,XZ, orYZ. UseXZfor floors and ground. - Tiling and Offset: Scale and shift the textures.
- Scroll Speed: Moves the textures continuously, for effects like flowing water or conveyor belts.
- Rotation: Rotates the textures, in degrees.
With Triplanar sampling, only Tiling and Offset are shown.
A second set of textures layered over the primary ones, usually tiled much smaller to add close-up detail, like grain on wood or pores on stone.
-
Workflow (Standard only):
Separatedetail maps, or onePackeddetail map. - Sampling Mode (Standard only): The sampling method for detail textures, with the same options as the primary Sampling Mode. In Lite, detail textures use the primary sampling mode.
- Detail Tint (when a detail base color is set): A color multiplied over the detail base color.
- Detail Base Color: The detail color texture. The value sets how strongly it's applied, and the dropdown sets how it combines with the base color (see blend modes below).
- Detail Normal Map: A second normal map combined with the primary one, with strength.
- Detail Metallic (Standard only, Separate): A detail metallic map, with strength and blend mode.
- Detail Roughness (or Detail Smoothness) (Standard only, Separate): A detail roughness map, with strength and blend mode.
- Detail Occlusion (Standard only, Separate): A detail occlusion map, with strength and blend mode.
- Packed Map (Standard only, Packed): One texture containing detail roughness, metallic, and occlusion.
-
Detail Mask: Limits where the detail textures appear, with a channel selector. White shows the detail and black hides it. Its mode sets how the detail is applied inside the mask:
-
Blend: The detail combines with the primary textures using each map's blend mode. -
Replace: The detail replaces the primary textures, which is useful for painting a different material onto parts of a surface.
-
- Pack Textures (Standard only, Separate): Packs the separate detail maps into one texture and switches the detail workflow to Packed.
Blend modes:
-
Add: Adds the detail on top, brightening. -
Alpha: Blends the detail over the base using the detail texture's alpha. -
Mul: Multiplies, darkening. -
Mulx2: Multiplies by double the detail, so mid-gray leaves the base unchanged, lighter areas brighten, and darker areas darken. This is the usual mode for grayscale detail textures. -
Overlay: Increases contrast, brightening light areas and darkening dark ones. -
Screen: Brightens, without blowing out as quickly as Add. -
Lerp: An even 50/50 mix of the base and the detail.
- Metallic Channel, Roughness Channel (or Smoothness Channel), and Occlusion Channel: Which channel of the packed detail map holds each value.
- Metallic Blend, Roughness Blend, and Occlusion Blend (Blend mask mode): How each detail value combines with the primary value.
- Metallic Strength, Roughness Strength (or Smoothness Strength), and Occlusion Strength: How strongly each detail value is applied.
- UV Set, Swizzle, Tiling, Offset, Scroll Speed, and Rotation: The same options as the primary UVs, applied to the detail textures independently.
- Specular Highlights: Bright highlights where realtime lights reflect off the surface, using a GGX distribution. The value sets their brightness. Baked lights don't create highlights unless you use Bakery's lightmap specular.
- Environment Reflections: Reflections of the surroundings from reflection probes. Supports box projection and blending between two probes. The value sets their brightness.
-
Screen Space Reflections (Standard only): Adds sharp reflections of whatever is visible on screen, on top of probe reflections. Only smooth surfaces (roughness below about 0.3) get them, and they're hidden in mirrors. The value sets their strength. They can be expensive, so use them sparingly.
- Edge Fade: How far from the edge of the screen SSR fades out. This hides the edges, where there's no screen information to reflect. At 0 the reflections cut off sharply.
- Depth: How far from the surface objects are picked up in the reflection. Larger values reach further but lose precision for close objects.
- Enable in VR: Whether SSR is also used for VR players. Turn it off to save performance in VR.
- Fresnel (Unity Standard model): Makes reflections stronger at glancing angles, the way real surfaces reflect more when viewed edge-on. The value sets how strong the effect is.
- Contact Hardening: Sharpens reflections where the surface is close to the reflected object, like a floor meeting a wall. Only works with box-projected reflection probes.
- Specular Antialiasing: Increases roughness where the surface's normals change quickly, like on rounded corners and dense normal maps, which hides sparkly, flickering highlights. The value sets how strongly roughness is increased.
-
Specular Occlusion (Unity Standard model): Darkens reflections and specular highlights in shadowed areas, using baked lightmaps or realtime directional light shadows. Without it, reflections can glow unnaturally in dark corners. The value sets how strong it is.
- Lightmap Tint: A color multiplied into the lightmap-based occlusion.
- Lightmap Brightness: Multiplies the lightmap brightness used for occlusion. Higher values mean only the darkest areas get occluded.
- Lightmap Contrast: Increases the contrast of the lightmap used for occlusion, sharpening the boundary between occluded and unoccluded areas.
- Lightmap HDR: Applies a gamma curve to the lightmap before it's used, deepening the occlusion in darker areas.
- Indirect Specular Occlusion (Google Filament model): How much lightmaps and light probes contribute to specular occlusion. Higher values make reflections darker in dimly lit areas.
- Realtime Specular Occlusion (Google Filament model): How much realtime shadows contribute to specular occlusion, when a realtime light is present.
Standard only.
Moves the mesh's vertices in the shader, for simple animation and wind without animating the object itself.
Meshes set to batching static may behave differently at runtime with wind or rotation. Use GPU instancing instead: disable batching static in the object's static dropdown, then enable Enable GPU Instancing in this material's Render Settings.
- Mask: Limits how much each vertex moves. The dropdown selects which channel of the mask is used. Black areas don't move.
- Static Rotation: Rotates the mesh around the object's pivot by a fixed angle on each axis.
- Animated Rotation: Continuously spins the mesh around the object's pivot. Each axis sets its rotation speed.
- Offset: Moves the mesh by a fixed distance on each axis.
Sways the mesh using scrolling noise, for foliage, flags, and fabric. Each wind layer samples the noise across a different plane of the world, and they add together.
- Noise Texture: The noise that drives the wind. Brighter and darker areas of the texture push the mesh in opposite directions.
-
Masking Mode: What limits the wind.
-
Texture: The vertex manipulation Mask. -
Vertex Color: The mesh's vertex colors, so the wind can be painted onto the mesh, like keeping a tree trunk still while the leaves move.
-
-
Symmetry: Makes the two halves of the mesh along an axis sway in opposite directions, like a pair of wings.
Offsways the whole mesh the same way. - Layers: How many wind layers are combined (1 to 3). More layers give more complex, natural motion.
- Direction: How much the wind rotates the mesh around each axis. Set an axis to 0 to stop movement around it.
- Global Strength: Overall strength of the wind.
- Each layer has:
- Strength: How much this layer contributes.
- Scale: The size of the wind noise. Smaller values give larger, slower-varying gusts across the object.
- Speed: How fast the noise scrolls on each axis.
- Smoothness: How blurry the noise is sampled. Higher values give smoother, gentler motion.
Standard only.
Simulates light passing through thin or translucent materials like leaves, wax, skin, and fabric, so they glow when lit from behind. It uses the main directional light and ambient lighting.
- Thickness Map: How thick the surface is. White is thick and blocks light; black is thin and lets light through. The value is a power that sharpens or softens the map.
- Subsurface Color: The color of light that passes through the surface.
- Base Color Tint: Tints the scattered light with the base color, so it matches the surface.
- Direct Strength: The brightness of light shining through from behind.
- Indirect Strength: A constant amount of scattering added regardless of the light's direction, for a softer, always-present glow.
- Power: How closely the viewer has to look toward the light to see the glow. Higher values give a tighter, more focused glow.
- Distance: How much the surface's normals bend the light passing through. Higher values spread the glow across more of the surface.
- Wrapping Factor: Lets light wrap further around the surface into the shadowed side, for a softer shading falloff on thin areas.
Standard and Lite only.
Adds animated rain to the surface's normals and makes it look wet.
-
Mode:
-
Off: No rain. -
Droplets: Dotted droplets and streaks of rain, best used on vertical surfaces. -
Ripples: Rippling circles like you'd see on horizontal surfaces where water pools. -
Automatic: Renders both, and blends between them based on the angle of the surface: droplets on vertical surfaces and ripples on horizontal ones.
-
- Mask: Limits where rain appears, with a channel selector. Black areas stay dry.
- Strength: How strongly the droplets distort the surface's normals.
- Speed: How fast the droplet animation plays.
- Dynamic Droplets: Adds larger droplets that bead up and fade over time. The value sets how many appear.
- UV Set: Which coordinates the droplets use, with the same options as the primary UVs.
- Swizzle (World and Local): Which two axes are used as UVs.
- Scale: How large the droplets are. Higher values give smaller, denser droplets.
- Rotation: Rotates the droplet pattern, which changes the direction streaks run.
- Mask: Limits where rain appears, with a channel selector.
- Strength: How strongly the ripples distort the surface's normals.
- Speed: How fast ripples play out.
- Density: How many rings each ripple has. Higher values give wider ripples made of more rings.
- Size: How far each ripple spreads before it fades out.
- Horizon Adjustment: Adjusts the strength of the ripples at sharper viewing angles to avoid artifacts.
- Adjustment Distance: How close to edge-on the viewing angle must be before Horizon Adjustment starts reducing the ripples.
- Puddle Strength, Puddle Speed, Puddle Density, and Puddle Size (when Puddles are enabled): Separate ripple settings used inside puddles, so pooled water can ripple more than wet ground.
- UV Set, Swizzle, and Rotation: The coordinates the ripples use.
- Scale: How large the ripple pattern is. Higher values give smaller, denser ripples.
- Mask: Limits where rain appears, with a channel selector.
- Angle Threshold: The surface angle where droplets switch to ripples. Surfaces flatter than this get ripples.
- Threshold Blend: How gradually droplets blend into ripples around the threshold angle.
Standard and Lite only.
Adds standing water to upward-facing surfaces. Inside puddles, the surface becomes smooth and reflective, and the normal map flattens out.
- Puddle Map: Where puddles form. White areas become puddles. The color tints the water, and its alpha sets how strong the tint is. When Use Height Map is enabled, only the Color is shown.
- Threshold: Remaps the puddle map or height map into puddles. Narrowing the range gives sharper puddle edges; moving it changes how much of the surface is covered.
- Strength: Overall amount of water. At 0 there are no puddles.
- Metallic: The metallic value inside puddles. Usually left at 0, since water isn't metallic.
- Occlusion Strength (with an occlusion map or Packed Metallic): How much of the surface's ambient occlusion shows through the water. At 0 the water covers it completely.
- Height Strength: How much the puddle map follows the parallax depth of the surface, so puddles sit inside grooves instead of floating on top.
- Use Height Map: Forms puddles from the height map instead of the puddle map, so water automatically collects in the lowest areas, like the gaps between cobblestones.
- Height-Based Tinting: Makes the water tint stronger in deeper areas, so puddles look deeper in the middle.
- UV Set, Swizzle, Tiling, Offset, Scroll Speed, and Rotation: The coordinates the puddle map uses, with the same options as the primary UVs.
Color adjustments for the material.
-
Hue Mode: The method used to shift hue.
-
HSV: Standard hue shift. -
Oklab: A more subtle, less saturated hue shift that better preserves perceived brightness.
-
- Mono Tint: Forces all colors to the same hue (set by Hue), varying only in brightness and saturation.
Applied to the final color, after lighting.
- Hue: Shifts every color around the color wheel. 0 and 1 are both the original colors.
- Saturation: Color intensity. 0 is grayscale, 1 is unchanged, and higher values oversaturate.
- Brightness: Multiplies the brightness. 1 is unchanged.
- Contrast: Pushes colors away from (above 1) or toward (below 1) middle gray. 1 is unchanged.
- ACES: Blends toward an approximation of ACES filmic tonemapping, which compresses bright areas more gracefully and gives a cinematic look.
- Hue, Saturation, Brightness, and Contrast: The same adjustments, applied only to the base color before lighting.
- Hue, Saturation, Brightness, and Contrast: The same adjustments, applied only to the detail base color.
- Hue, Saturation, Brightness, and Contrast: The same adjustments, applied only to the emission.
Only appears when one of the masks below is in use. Each mask can use different coordinates than the texture it masks.
- Detail Mask
- Height Mask (not in Mobile)
- Emission Mask (not in Mobile)
- Rain Mask
- Alpha Mask
- Vertex Manipulation Mask (Standard only)
Each has:
-
UV Set: Which coordinates the mask uses:
UV0βUV4,World, orLocal. The Vertex Manipulation Mask supportsUV0βUV4only. - Swizzle (World and Local): Which two axes are used as UVs.
- Tiling, Offset, Scroll Speed, and Rotation: Scale, shift, animate, and rotate the mask.
Only appears when AreaLit is installed in your project. AreaLit adds realistic lighting and reflections from rectangular area lights, like screens and light panels.
- Strength: Overall brightness of AreaLit's lighting and reflections on this material.
- Roughness Multiplier: Multiplies the surface roughness used for AreaLit reflections. Higher values give blurrier reflections of the lights.
- Specular Occlusion: Applies the material's specular occlusion to AreaLit reflections, so they darken in shadowed areas.
- Opaque Lights: AreaLit's opaque lights option.
- Mesh: The light mesh data texture generated by AreaLit. The label shows the maximum number of lights it supports.
- Texture 0, Texture 1, Texture 2 (intended for indirect light), and Texture 3+ (intended for static lights): The textures shown on the area lights. These need mip maps and trilinear filtering; the inspector warns you and offers a one-click fix if they're missing.
-
Occlusion: A texture that blocks AreaLit lighting in certain areas, such as a baked shadow mask.
-
UV Set: Which coordinates the occlusion texture uses:
UV0βUV4, orLightmap UVto match the lightmap layout. - Tiling and Offset.
-
UV Set: Which coordinates the occlusion texture uses:
The AreaLit package files must be inside a folder named AreaLit (case sensitive) directly in the Assets folder (Assets/AreaLit).
Only appears when LTCGI is installed in your project. LTCGI lets video players and other screens cast realistic light and reflections onto the surface.
- Strength: Overall brightness of LTCGI's lighting and reflections on this material.
- Roughness Multiplier: Multiplies the surface roughness used for LTCGI reflections. Higher values give blurrier reflections of the screens.
- Specular Occlusion: Applies the material's specular occlusion to LTCGI reflections.
- Diffuse Color: Tints the light LTCGI casts onto the surface.
- Specular Color: Tints the reflections of LTCGI screens.
Support for VRChat Light Volumes, which provide higher quality, more localized baked lighting than Unity's light probes. Enabled by default.
- Strength: How much light volumes replace regular light probe lighting. At 1 the surface is lit entirely by light volumes wherever they're available.
- Additive Volumes: Enables additive light volumes, which add extra light on top of lightmapped surfaces. The value sets their brightness. See the Light Volumes documentation for more info.
- Specular Highlights: Adds specular highlights derived from VRC Light Volumes. The value sets their brightness.
- Bias: Offsets the sampling position of the light volume along the surface normal to help avoid light leaking through walls.
-
Bakery Mode: Support for the third-party lightmapper Bakery's directional lightmap modes, which make baked lighting respond to normal maps. Match this to the directional mode used in your Bakery bake.
-
None: Regular (or Unity directional) lightmaps. -
SH: Bakery's spherical harmonics lightmaps. Highest quality directional lighting. -
RNM: Bakery's radiosity normal mapping lightmaps. -
MonoSH: Bakery's single-color spherical harmonics lightmaps. Cheaper than SH with similar quality.
-
- Bakery Specular Highlights: Adds specular highlights from the directional information in Bakery lightmaps, so baked lights appear as highlights on the surface. The value sets their brightness. Requires one of the Bakery modes.
- Bicubic Lightmap Sampling: Samples lightmaps with bicubic filtering to hide aliasing on shadows, giving a smooth gradient on otherwise low-resolution shadows.
- Apply Heightmapping (when the material has a height map): Applies the parallax height offset to the lightmap as well, so baked shadows follow the parallax depth.
- Non-Linear SH: Evaluates light probe lighting with a non-linear method, which gives more accurate, higher-contrast probe lighting.
- Double Sided Global Illumination: Treats faces as double-sided during lightmapping, so the back faces of single-sided geometry also block and bounce light.
- Ignore Realtime GI: When enabled, the material ignores Enlighten realtime GI.
Lightmaps are atlased, so manipulating their UVs with Apply Heightmapping often reveals visual artifacts and usually isn't recommended. Check for artifacts if you use it.
-
Culling: Which sides of the mesh are drawn.
-
Off: Renders both back and front faces at all times. Only use this if absolutely necessary. -
Front: Culls front faces, only displaying back faces. -
Back: Culls back faces, only displaying front faces.
-
- Render Queue Offset: Offsets the render queue by this value, to change when this material draws relative to others. The resulting Render Queue is shown below it. The base queue is set automatically from the blending mode.
- Primary Wrap/Filter Settings: Assign any texture here, and its import settings (wrap mode and filtering) are used for all textures except the detail textures. Lets you change clamping or filtering for the whole material without editing every texture.
- Detail Wrap/Filter Settings: The same, for the detail textures.
- Unity Scene Fog: Enables or disables Unity's scene fog on this material.
- Vertex Base Color: Multiplies the base color by the mesh's vertex colors.
- Flip Normals on Backfaces: Flips the normals of back faces. This both causes and fixes issues with backfaces appearing black when lightmapped, and which way it goes appears to be random. We love Unity.
- Enable GPU Instancing: Lets many copies of this mesh with this material render in one batch, which helps performance. Recommended over static batching when using Vertex Manipulation.
- Debug Mode: Shows the Debug section.
Only appears when Debug Mode is enabled in Render Settings.
-
Debug View: Replaces the material's output with one component of the shader, for troubleshooting:
-
Base Color,Alpha,Roughness,Metallic(specular color in the Specular workflow),Occlusion, andHeight: The surface inputs. -
Normals: The final world-space normals. -
Tangent Space Normals: The combined normal maps before they're applied to the mesh. -
Vertex Normals: The mesh's own normals, without normal maps. -
Lighting: The combined diffuse lighting. -
Attenuation: Realtime light attenuation and shadows. -
Reflections: All reflections combined. -
Specular Highlights: The realtime specular highlights. -
Vertex Colors: The mesh's vertex colors. -
Wind: The wind offset.
-
The built-in textures the shader uses. You normally don't need to change these.
- LUT for Filament SM: The lookup texture used by the Google Filament specular model.
- SSR Noise Texture: Noise used to smooth screen space reflections.
- Droplet Map: The texture used for Dynamic Droplets.
- Rain Texture Sheet: The flipbook used for rain droplets.
- Rain Texture Sheet Columns and Rain Texture Sheet Rows: The layout of the rain flipbook.
Normally set automatically by the blending mode.
- Source Blend Op and Destination Blend Op: How the material's color combines with what's behind it.
- ZWrite: Whether the material writes to the depth buffer.
- ZTest: How the material is depth tested against other objects.
Mochie's Shaders β’ Created by Mochie β’ GitHub β’ Found an issue? Submit a report