Terrain Material Settings

Adjust the appearance of a whole terrain and control live biome effects.

On a small screen, scroll wide tables sideways to read every column.

The terrain material controls the final appearance of the objects that use it. A biome preset describes one surface; material settings adjust the overall look or add live effects to selected biome IDs. The same material can also drive DPT scatter wind and live scatter responses.

Use the biome inspector to fix one terrain surface. Use the 3D Scatter Guide to configure grass, flowers, pebbles, mushrooms or custom meshes. Use the material when you want a broader change, such as weaker normal detail across the terrain, wind direction, less distant variation, or an animated effect on selected biome IDs and their scatter.

Find the right material and start safely

  1. Select the terrain’s MeshRenderer and open its assigned material.
  2. For the Terrain Atlas workflow, check that it uses the dedicated SH_DPT_VCTerrain shader. The supplied terrain material is DPT_VCTerrain_Mat.
  3. Confirm that its compiled colour-ramp atlas, detail texture array and biome count come from the intended library. Use the terrain tool’s texture compilation workflow to refresh them.
  4. Paint a small test area containing a few representative surfaces.
  5. Begin with ordinary global multipliers around 1. Change one control, compare the test area, and return it to the previous value if it does not help.
  6. If this terrain needs independent settings, give it its own material or use Make Standalone Copy before making broad changes.

The dedicated inspector enables the terrain surface setup for you. The generated atlas, array and biome count are linked outputs of the library workflow; replacing one arbitrarily can make the material’s inputs disagree.

Shared material means shared changes. Every renderer using the same material can change when you edit it. The demo controller also writes to its assigned material or the renderer’s shared material. Duplicating a scene object does not automatically isolate its material.

Which level should you edit?

GoalBest starting point
One biome is too shinyThat biome’s Smoothness and source maps in the biome inspector.
All textured surfaces need weaker bumpsGlobal normal strength on the material.
A selected rock should become glossier during rainA live slot targeting that rock ID, with a smoothness override.
The mesh needs a deeper river channelThe terrain’s geometry/path tools. Parallax and flow will not create a physical channel.
A distant texture pattern is too busyThe quality fade controls, anti-tiling setup and texture scale.

Global surface controls

These controls influence the terrain’s surface rendering. Their final effect also depends on the biome’s own settings and compiled maps. A neutral multiplier does not guarantee that the source surface itself is neutral.

ControlWhat you see when increasedWhen to lower it
Detail Tiling ScaleMore repeats and smaller-looking texture details across the material.When grain, cracks or stones look too small. It multiplies biome tiling, rather than resizing the terrain.
Surface Normal StrengthStronger lighting bumps.When details look noisy, harsh or inflated. It changes shading, not the shape.
Surface Metallic StrengthA stronger metallic response where the source setup permits it.When ordinary ground looks like metal. Fix a wrong metallic input or channel mapping at the biome level too.
Surface Smoothness StrengthMore polished-looking highlights.When broad areas look wet or plastic. Inspect several biomes so you do not fix one and spoil another.
Surface AO StrengthStronger shading from the material’s occlusion data.Reduce when crevices are too dark. Stylized Lighting treats AO as shadow; also check the biome’s AO Strength and Invert Height. See the FAQ.
Surface Emissive StrengthStronger output from emissive surfaces.When glow overpowers the surface detail. A source without useful emission will not gain patterned glowing cracks from a multiplier alone.
Surface Height ContrastMore pronounced height-based competition at biome transitions.When blends look harsh or broken into excessive detail. “Height” here refers to surface detail, not mountain elevation.
Parallax ExtrusionA stronger illusion of recessed and raised texture detail.When relief distorts at shallow angles. Zero bypasses that parallax contribution. No terrain vertices or colliders move.

If a whole terrain looks too busy: first reduce global normal strength a little, inspect parallax from the game camera, then check texture tiling. Do not immediately lower every biome’s settings; you may only need a material-level adjustment.

Height stored in the blue channel of a packed PBR texture is selected in the biome Mapping dropdown with MRAO + Height (B), then included by Auto Generate. Ordinary MRAO ignores B. An existing generated Detail texture takes priority at compilation, and height/parallax changes texture relief rather than the terrain geometry.

For built-in scatter, set Smoothness, Metallic and Emissive on the Mesh Variant. The generated mesh supplies UV3 metallic/packed roughness and packed vertex-alpha emission data. A compatible material decodes those values; global emission controls can still affect the result.

On steep extruded walls, the terrain sampler guards against collapsed texture projections caused by interpolated smooth normals. Bevel changes the edge shape; the Smooth brush changes geometry. Neither should be needed just to hide stretched projection lines. If an older material still shows them, confirm it uses the current terrain Shader Graph and ground sampler, then inspect its projection and normal settings.

Wind controls for scatter meshes

The Wind foldout controls the shared wind values used by wind-enabled scatter meshes. Scatter objects opt into wind from the 3D Scatter settings; disabling wind on a scatter object prevents that object from using the wind feature path and avoids the extra wind culling padding.

ControlMeaningHow to tune it
Wind StrengthOverall displacement strength used by the scatter wind setup.Start low and increase while watching both the base and tip of the mesh. Large values may need more Wind Bounds Padding in the scatter settings so animated geometry is not culled too early.
Height To TipThe object-space height used to normalise the root-to-tip wind mask.Set it close to the approximate height of the wind-enabled scatter mesh. A good value keeps the base comparatively anchored while allowing the upper part to reach full wind strength.
Wind DirectionA normalised 3D direction built from Compass Heading and Vertical Pitch.Use heading for horizontal direction and pitch for upward or downward motion. These are shared material values, so every compatible wind-enabled scatter object using the material can respond.

Height To Tip is not a mesh scale control. It only changes how object-space height is converted into the wind mask. If the actual mesh is the wrong size, change the scatter object’s Scale Min / Max instead.

Quality fade controls

Parallax, Anti-Tiling, Seam Blend and Normal Fade controls reduce their respective effects as the detail becomes smaller on screen. This can reduce distant visual noise and avoid spending as much work on detail that is difficult to see.

Although the labels say “Distance”, treat these as fade scales, not exact metre cutoffs. The shader also responds to the size of the surface detail within a screen pixel. Camera field of view, display resolution and the view angle can change where the fade becomes noticeable.

FadeWhat fadesHow to tune it
Parallax Fade DistanceThe depth illusion in texture detail.Raise it to retain relief farther into the view; lower it if distant relief is unnecessary or distracting.
Anti-Tiling Fade DistanceProcedural variation that breaks repetition.Keep enough for visible mid-distance repetition, then compare the far terrain for noise.
Seam Blend Fade DistanceBlending between texture projections.Blending is world-oriented. Lower this on moving or rotating objects to make projection mismatch less noticeable; 0 disables it. This does not control geometric tile welding.
Normal Fade DistanceFine normal-map lighting detail.Lower it if far surfaces shimmer or look grainy; raise it if important detail disappears too early.

Very small or zero fade scales remove or sharply restrict the relevant contribution. Judge them from the actual game camera, including its normal resolution and field of view. Keep the biome’s own strength and the global strength consistent with what you want to retain.

Break up repeated textures

Anti-tiling adds variation so the same texture is less obvious when repeated over a large area. First enable or increase Anti-Tiling on the relevant biome. The material controls shape that variation; they will not show the intended effect on a biome whose anti-tiling contribution is zero.

ControlMeaningUseful approach
Rotation Patch ScaleThe spatial scale of regions with different detail orientation.Compare the patch size against the source pattern. Avoid conspicuous orientation changes on textures that must follow a direction.
Color Patch ScaleThe frequency of broad colour-variation regions. Higher values make the variation more frequent and its patches smaller.Start with broad, restrained patches; increase frequency only if the material needs smaller variation.
Color Ramp ShiftHow much procedural variation shifts the sample along the biome’s colour ramp.Use a small amount for related shades. This does not rotate hue like the biome’s Hue transform.
Brightness ContrastThe strength of brightness variation.Increase gradually. Strong contrast can look like painted stains or obscure the original material.

Also check the source texture’s obvious landmarks and tiling scale. Anti-tiling works best with a sensible source and subtle variation. For intentional stripes, grain direction or flowing channels, reduce variation if it fights the pattern.

Live biome modifiers: change selected surfaces and scatter

Enable Live/Dynamic Biomes to use the four modifier slots. A slot is a group of material adjustments targeting up to three biome IDs. It can change their relative blend weight, surface properties, flow, dusting and the live response of scatter owned by those biome IDs without repainting the mesh or rebuilding scatter placement.

  1. Find the current numeric IDs in your biome library.
  2. Enable the master live-biome switch.
  3. Activate one slot and set its target count and IDs.
  4. Leave Weight Multiplier and surface multipliers at 1 initially.
  5. Change one value and inspect both a pure patch and a border where that biome mixes with another.
Slot controlMeaningWhat to remember
ActiveEnables that slot’s targets.All four slots, including Slot 1, can be inactive. Use this switch to disable a slot.
Target BiomesThe number of IDs in the slot, from one to three when active.Use the current library’s IDs. −1 is not a disable value; IDs are clamped into the supported range.
Weight Multiplier: 0–5Changes how strongly each targeted biome participates in an existing blend.1 preserves its weight, 0 removes its contribution, above 1 favours it relative to other painted surfaces.
Smoothness override: 0–3A multiplier on the targeted surface’s smoothness.1 preserves the starting response; try values above 1 for a glossier appearance.
Normal override: 0–3A multiplier on its normal detail.1 preserves it; lower values flatten the shading detail.
Parallax override: 0–3A multiplier on its apparent texture depth.Use gently and inspect at shallow angles. It still does not alter collision.
Emissive override: 0–10A multiplier on its glow.Use for existing emissive detail. A zero source contribution cannot be restored by multiplying it.
Scatter Density: 0–1Live multiplier for scatter owned by the targeted biome IDs.1 keeps the amount configured in the scatter object; 0 hides that biome’s scatter. The renderer changes the submitted instance count without rebuilding the placement.
Scatter Colour MultiplierMultiplies the generated scatter colour for the targeted biome IDs.White is neutral. Use a pale or cool HDR multiplier for frost/snow responses. This changes scatter colour, not the underlying terrain biome colour.

All four slots use the same scatter response: Scatter Density 1 and Scatter Colour Multiplier white with HDR intensity 0 are neutral, including Slot 1. Terrain dusting is separate from scatter tint. When checking an unexpected colour, inspect overlapping slot targets and the shader’s scatter inputs as well as the multiplier.

What changing a weight can and cannot do

Imagine a border painted as 50% grass and 50% rock. Giving rock a multiplier of 2 makes its contribution twice as strong before the blend is normalised, so that border tends toward rock. A pure grass area containing no rock weight does not become rock merely because the rock multiplier increases.

Weights change a mixture already present on the terrain. They do not create new terrain height, move a shoreline or flood a depression with a water volume. Removing the only contributing biome from a pure patch is also not a useful way to create a new surface; paint an alternative first.

For your first setup, target each biome from only one slot. Overlapping slot targets can combine weight, surface and scatter responses and make the result harder to predict. Disable slots one at a time if the outcome is confusing.

Scatter response is linked by the scatter instance’s owning biome ID. A reusable scatter object can target several biomes, while instances created from each target can still respond independently to that biome’s live slot. See Live biome response in the 3D Scatter Guide.

Animate surface flow

Flow moves the appearance of a targeted surface over time. It is useful for a river-like material, lava or another moving detail. It does not move vertices, particles or characters and does not supply a water simulation.

ControlMeaningExample
Enable FlowTurns on animation for the slot’s targeted biomes.Target the ID of your painted river surface.
Direction / headingThe direction in the surface’s texture coordinate space.0° is +U, 90° is +V, 180° is −U and 270° is −V. Treat compass descriptions as texture-direction aids, not guaranteed geographic directions on every mesh.
Flow Speed: −1–1The rate of the texture animation.0 is static; a negative value reverses it. This is not a physical speed in metres per second.
Back and ForthOscillates the motion rather than continuously streaming.Try for a tide-like or gently shifting surface.
Waterfall ProjectionUses the material’s waterfall-oriented projection behaviour.Useful for downward-looking flow on suitable geometry. It is based on world-up conventions, so check it on curved or differently oriented worlds.

Compare flow with anti-tiling enabled and disabled. Strong rotation variation can conflict with an intentional flow direction. The demo controller does not expose Waterfall Projection and can clear that setting when it pushes its slot data; use the material directly for that setup unless your own controller preserves it.

Add snow or dust with a painted mask

Dusting and pulsing emission cannot share the same vertices. Choose one effect for that area and disable biome Pulse when using dusting. See the FAQ.

Dusting overlays one biome onto another. It combines three decisions: where you painted a dusting mask, which base biomes the slot targets, and which slopes pass the threshold. Enabling the material effect alone does not coat every unmasked surface.

  1. Create or choose the overlay biome, such as snow. Note its ID and the IDs of the ground surfaces that should receive it.
  2. On the terrain, use the Dusting tool to paint or fill the areas where the overlay is allowed.
  3. Enable live biomes and activate a material slot targeting the underlying ground IDs.
  4. Enable that slot’s Dusting Layer and set Dusting Biome ID to the snow/dust preset.
  5. Start with a moderate strength and a low slope threshold. Inspect a masked flat patch first.
  6. Raise the slope threshold to restrict the effect to flatter upward-facing areas. Adjust strength to choose how much of the permitted overlay appears.
ControlMeaningTypical use
Dusting Biome IDThe library surface sampled for the overlay.Choose the snow ID here, while the slot targets the rock/grass beneath it.
Strength: 0–2The intensity of the overlay within the eligible mask.0 removes it; increasing it gives stronger coverage. It does not add physical snow thickness.
Slope Threshold: 0–1How upward-facing the surface must be. It is a normalised facing threshold, not an angle in degrees.Near 0 permits a wider range of orientations; higher values favour flatter upward-facing faces. The boundary is softened.

Dusting uses world-up facing. On a planet, a surface on its side is not treated as “up” merely because it points away from the planet’s centre. Inspect the rule around the entire object if that distinction matters to your scene.

The overlay changes appearance only. It does not build a snow mesh, raise collision, or automatically create slippery physics. Gameplay surface queries use a simplified dusting rule and do not reproduce the shader’s painted-mask result exactly; see query accuracy before relying on the returned ID for gameplay.

Three practical material workflows

Make selected ground look wet

  1. Paint the ground and confirm its ordinary biome appearance.
  2. Activate a live slot targeting those ground IDs.
  3. Keep Weight Multiplier at 1 so you are changing the material response rather than the distribution.
  4. Increase smoothness gently. Adjust the source biome’s colour in a duplicate if you also need a darker base look.
  5. Inspect highlights under your scene’s lighting. This is a wet-looking surface effect; puddles and rain behaviour need their own setup.

Make a river look animated

  1. Use the Path tool to shape a channel if you need a real bed.
  2. Paint a river surface along it, choosing a texture and scale suitable for the width.
  3. Target that biome with one active live slot and enable Flow.
  4. Start with a low speed. Change heading until the detail moves along the intended route.
  5. Inspect bends and changes of projection. Add dedicated water geometry or gameplay behaviour separately if your scene needs it.

Fade a seasonal snow overlay and its scatter together

  1. Paint a dusting mask and configure the base targets, snow ID and slope threshold.
  2. Make sure the relevant grass or flower scatter object targets those same base biome IDs.
  3. Test Dusting Strength around 0 and 1, Scatter Density at 1 and near 0, and Scatter Colour Multiplier at white and a pale/cool tint.
  4. Animate the values in your own controller or use the demo’s snow cycle to explore the linked terrain/scatter transition.
  5. Check shared-material scope so the effect changes only the intended terrain group.
  6. Compare the runtime tester with the visual result if you also change footsteps or surface effects. Scatter visibility does not change the baked gameplay surface query.

Frequently asked questions

Why does my material look too dark with Stylized Lighting enabled?

With Stylized Lighting enabled, AO is treated as shadow, so strong occlusion can make a material look much darker. Try reducing the biome’s AO Strength or the material’s Surface AO Strength. If the height interpretation is reversed, try Invert Height in the biome inspector and regenerate the detail as needed. Compare a small patch under the same lighting before changing the rest of the library.

Can I use pulsing emission and dusting together?

Pulsing emission and dusting are incompatible. Each vertex or patch can have only one active effect layer at a time. Choose either Pulse or Dusting for the same area. Disable Pulse on a biome when you want to use dusting there; do not expect both effects to coexist on those vertices.

Why does seam blending shift when my terrain moves or rotates?

Seam blending is world-oriented, so its projection blend does not stay locked to an object as that object moves or rotates. This can be noticeable on an orbiting or rotating planet. Lower the material’s Seam Blend Fade Distance so the effect fades sooner and the mismatch becomes less noticeable from your game camera. Set it to 0 to disable seam blending if needed. This reduces the visible effect; it does not make the blending follow the object.

When a material effect is missing or wrong

SymptomCheck in this order
Editing the material does nothingConfirm the selected renderer uses that material and the correct terrain shader. Check whether a controller is overwriting the settings.
The wrong biome changesCheck IDs in the current library. Reordering or deleting presets can invalidate separately stored target IDs.
A live slot has no effectCheck master switch, Active, target count and IDs. For weights, the targeted biome must already contribute in the painted area. For overrides, check source data and global settings.
Snow does not appearCheck the painted dusting mask, the underlying target IDs, overlay ID, enable switches, strength and slope threshold. Start on a masked upward-facing flat area.
Flow goes the wrong wayAdjust texture-space heading or reverse speed. Check projection changes and anti-tiling rotation; the heading is not guaranteed to follow world north.
Waterfall Projection keeps switching offCheck whether the demo controller is pushing slots. Its current slot representation does not preserve the material’s waterfall flag.
The terrain looks correct nearby but changes far awayReview quality fade scales, mipmaps and camera settings. Fade labels are not exact metre distances.
A visible tile crack remains at maximum Seam BlendInspect the geometry and tile joins. Seam Blend changes texture projection transitions, not mesh connectivity.
The shader reports snow but I cannot see itIf you mean a gameplay query, remember the runtime dusting test does not include the painted mask. It is an approximation, not a pixel sample.
Several terrains change togetherInspect their shared material references. Assign separate materials or make standalone copies where the effect should be independent.
Scatter colour/density does not respond to a live slotCheck the live-biome master switch, the slot target IDs, the scatter object’s Target Biomes and that the scatter uses the same compatible material. A scatter object can target several biomes, but the live response follows the owning biome of each instance.
The base of grass moves too much or the tip barely movesCheck Height To Tip against the approximate object-space height of the mesh, then adjust Wind Strength. If animated geometry disappears at the edge of the camera, raise Wind Bounds Padding in the scatter settings.

Support

If you need help, describe the result you expected, the control you used, and what appeared instead. Include your Unity version, the selected surface pipeline, and a screenshot of the relevant settings. For a runtime query problem, also include the collider type and when you last baked surface data.

Use the DPT Games contact form or join the DPT Games Discord.

Back to top