Requires the full Nature Shaders package.
Not supported in Nature Shaders Essentials. (Learn more)
Nature Shaders comes with a few different settings that you can use to adjust the shading quality. These can be used for an in-game settings menu, or to change the quality depending on the platform.
Global Quality Settings
The Global Quality Settings are set on a global level, and are applied to all materials in your project. They can be changed at runtime.
The global settings are set via script, using the QualitySettings class:
using VisualDesignCafe.Nature;
// Access the different sections using the static properties.
QualitySettings.Interaction
QualitySettings.Overlay
// The changes won't update until they are explicitly applied.
QualitySettings.Apply();
Interaction
Interaction can be enabled/disabled through code and the resolution can be adjusted to control the memory usage.
- Enabled
- Enable or disable interaction for all materials in the project. Useful to disable interaction on low-end devices.
-
// Default: QualitySettings.Interaction.Enabled = true;
- Resolution
- The resolution that is used for the internal render texture that stores interaction data. This setting is combined with the Accuracy setting to calculate the maximum distance at which interaction is applied.
-
// Default: QualitySettings.Interaction.Resolution = 1024;
-
Example
With a resolution of 2048 and an accuracy of 5, the effective range is 2048/5 = 410 units. Any vegetation further away than 410 units will not interact with objects.
- Accuracy
- The accuracy of the interaction. Uses pixels per unit as measurement.
-
// Default: QualitySettings.Interaction.Accuracy = 5.0f;
Overlay
The resolution for the overlay can be adjusted to control the memory usage. It can not be enabled/disabled on a global level, this to maintain consistency for material colors and to reduce the number of global shader keywords that Nature Shaders uses.
-
// Default: QualitySettings.Overlay.Enabled = true;
- Resolution
- The resolution that is used for the internal render texture that stores overlay data. This setting is combined with the Accuracy setting to calculate the maximum distance at which the overlay is applied.
-
// Default: QualitySettings.Overlay.Resolution = 2048;
-
Example
With a resolution of 2048 and an accuracy of 4, the effective range is 2048/4 = 512 units. Any vegetation further away than 512 units will not receive overlay data.
- Accuracy
- The accuracy of the interaction. Uses pixels per unit as measurement.
-
// Default: QualitySettings.Overlay.Accuracy = 4.0f;
Material Quality Settings
Some settings can be changed for each material independently to optimize performance. These settings are adjusted in the Material Editor by selecting a material.
- Lighting Quality
- Adjust the Lighting Quality to change how this material is shaded.
- High: uses Physically Based Shading, similar to the Lit or Standard shader.
- Low: uses a Blinn-Phong lighting model.
- Note: This setting is not supported in HDRP or when using deferred rendering. This is because deferred rendering pipelines do not support using custom lighting.
- Specular Highlights
-
Disable to remove specular highlights and environment reflections from the material. This bypasses all specular calculations in the shader, and can be a performance improvement for materials that have close to no specular reflections.
Note: This setting is not supported in HDRP or when using deferred rendering. This is because deferred rendering pipelines do not support using custom lighting.
- Interaction
- Disable this section to completely disable interaction for the material.
- Wind
- Disable this section to completely disable wind for the material.
- Translucency
- Disable this section to completely disable translucency for the material.