Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Material.GetTag

Руководство
public string GetTag(string tag, bool searchFallbacks, string defaultValue = "");
public string GetTag(string tag, bool searchFallbacks, string defaultValue = "");

Параметры

Описание

Получает тэг шейдера материала.

Если в шейдере материала не определен тэг, возвращает defaultValue.

Если searchFallbacks true, то эта функция будет искать тэг во всех субшейдерах и всех откатах. Если seachFallbacks false, используется только текущий субшейдер для запроса по тэгу.

Использование GetTag без поиска через "откаты" делает возможным определение используемых в данный момент субшейдеров: добавьте пользовательский тэг для каждого субшейдера с разным значением, и делайте запрос значения во время исполнения. Например, вода в Unity Pro использует эту функцию для определения когда шейдер откатывается к не отражающему и выключает отражающую камеру в этом случае.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public string materialTag = "RenderType"; void Start() { Renderer rend = GetComponent<Renderer>(); string result = rend.material.GetTag(materialTag, true, "Nothing"); if (result == "Nothing") Debug.LogError(materialTag + " not found in " + rend.material.shader.name); else Debug.Log("Tag found!, its value: " + result); } }