Version: 2017.2

Material.SetOverrideTag

Cambiar al Manual
public void SetOverrideTag (string tag, string val);

Parámetros

tag Nombre de la etiqueta a establecer.
val Nombre del valor a establecer. Un string vacío limpiará la flag anulada.

Descripción

Establece una tag/valor para anular en el material.

Establecerá una etiqueta/valor en el material que anula el valor de dicha etiqueta del shader. Esto se puede utilizar para asegurarse de que los shaders de reemplazo (como renderizar DepthNormals) funcionen incluso si el shader original solo admite un determinado tipo de render. Por ejemplo, si un shader sólo admite un tipo de renderizado específico, pero se hace de muchas maneras utilizando palabras clave, SetOverrideTag puede utilizarse como inspector de materiales personalizados para garantizar que el material se procese correctamente incluso si se reemplaza el shader.

using UnityEngine;

public static class MaterialUtils { public enum BlendMode { Opaque, Cutout, Fade, Transparent }

public static void SetupBlendMode(Material material, BlendMode blendMode) { switch (blendMode) { case BlendMode.Opaque: material.SetOverrideTag("RenderType", ""); material.DisableKeyword("_ALPHATEST_ON"); material.renderQueue = -1; break; case BlendMode.Cutout: material.SetOverrideTag("RenderType", "TransparentCutout"); material.EnableKeyword("_ALPHATEST_ON"); material.renderQueue = 2450; break; } } }