Class SpeedTree8MaterialUpgrader
Material upgrader and relevant utilities for SpeedTree 8.
Inherited Members
Namespace: UnityEditor.Rendering
Assembly: Unity.RenderPipelines.Core.Editor.dll
Syntax
public class SpeedTree8MaterialUpgrader : MaterialUpgrader
Constructors
SpeedTree8MaterialUpgrader(string, string, MaterialFinalizer)
Creates a material upgrader that handles the property renames that HD and Universal have in common when upgrading from the built-in SpeedTree 8 shader.
Declaration
public SpeedTree8MaterialUpgrader(string sourceShaderName, string destShaderName, MaterialUpgrader.MaterialFinalizer finalizer = null)
Parameters
Type | Name | Description |
---|---|---|
string | sourceShaderName | Original SpeedTree8 shader name. |
string | destShaderName | New SpeedTree 8 shader name. |
MaterialUpgrader.MaterialFinalizer | finalizer | A delegate that postprocesses the material for the render pipeline in use. |
Methods
DoesMaterialHaveSpeedTreeWindKeyword(Material)
Returns true if the material contains a SpeedTree Wind keyword.
Declaration
public static bool DoesMaterialHaveSpeedTreeWindKeyword(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material | Material to check |
Returns
Type | Description |
---|---|
bool | true if the material has a SpeedTree wind keyword that enables Vertex Shader wind animation |
IsWindEnabled(Material)
Checks the material for SpeedTree keywords to determine if the wind is enabled.
Declaration
public static bool IsWindEnabled(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material | Material to check |
Returns
Type | Description |
---|---|
bool | true if the material has a SpeedTree wind keyword that enables Vertex Shader wind animation and WindQuality other than None (0) |
PostprocessSpeedTree8Materials(GameObject, SpeedTreeImporter, MaterialFinalizer)
Postprocesses materials while you are importing a SpeedTree 8 asset. Call from OnPostprocessSpeedTree in a MaterialPostprocessor.
Declaration
public static void PostprocessSpeedTree8Materials(GameObject speedtree, SpeedTreeImporter stImporter, MaterialUpgrader.MaterialFinalizer finalizer = null)
Parameters
Type | Name | Description |
---|---|---|
GameObject | speedtree | The GameObject Unity creates from this imported SpeedTree. |
SpeedTreeImporter | stImporter | The asset importer used to import this SpeedTree asset. |
MaterialUpgrader.MaterialFinalizer | finalizer | Render pipeline-specific material finalizer. |
SpeedTree8MaterialFinalizer(Material)
Preserves wind quality and billboard settings while you are upgrading a SpeedTree 8 material from previous versions of SpeedTree 8. Wind priority order is _WindQuality float value > enabled keyword. Should work for upgrading versions within a pipeline and from standard to current pipeline.
Declaration
public static void SpeedTree8MaterialFinalizer(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material | SpeedTree 8 material to upgrade. |