Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

Material.GetTag

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public function GetTag(tag: string, searchFallbacks: bool, defaultValue: string = ""): string;
public string GetTag(string tag, bool searchFallbacks, string defaultValue = "");
public function GetTag(tag: string, searchFallbacks: bool, defaultValue: string = ""): string;
public string GetTag(string tag, bool searchFallbacks, string defaultValue = "");

Parámetros

Descripción

Get the value of material's shader tag.

If the material's shader does not define the tag, defaultValue is returned.

If searchFallbacks is true then this function will look for tag in all subshaders and all fallbacks. If seachFallbacks is false then only the currently used subshader will be queried for the tag.

Using GetTag without searching through fallbacks makes it possible to detect which subshader is currently being used: add a custom tag to each subshader with different value, and query the value at run time. For example, Unity water uses this function to detect when the shader falls back to non-reflective one, and turns off reflection camera in that case.

// Attach this to a gameObject that has a renderer.

var materialTag = "RenderType";

function Start() { var rend = GetComponent.<Renderer>(); var result : String = 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); }
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); } }