Version: 2017.3

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; } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961