マテリアルのシェーダーのタグ名を取得します
マテリアルのシェーダーにタグが定義されていない場合、 defaultValue
が返されます。
SeachFallbacks
が False
の場合、現在使用しているサブシェーダーのみタグのために参照されます。
検索を介することなく GetTag
を使い、フォールバックで
現在使用されているサブシェーダーを検出できます。別の値を持つ各サブシェーダーにカスタムのタグを追加し、
実行時に値を照会します。たとえば、Unity の Water で
でシェーダーが非反射に該当するとき、この関数を検出するために使用し、該当すると反射のカメラをオフにします。
// 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); } }