tag | 設定するタグの名前 |
val | 設定する値の名前。上書きフラグをクリアする空の文字列。 |
マテリアルの Tag/Value を上書きに設定します
シェーダーから当該するタグの値を上書きするマテリアルの Tag/Value を設定します。たとえ元のシェーダーが特定のレンダー型のみサポートしている場合でも、シェーダーの機能(DepthNormals のレンダリングなど) を確認して置き換えるために使用できます。たとえば、シェーダーが特定のレンダーの型のみをサポートするが、キーワードを使用してさまざまな方法でレンダリングする場合、シェーダーが置き換えられた場合でもマテリアルが正しく表示されることを確認するカスタムのマテリアルインスペクターから SetOverrideTag が使用できます。
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; } } }