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 が返されます。

SeachFallbacksFalse の場合、現在使用しているサブシェーダーのみタグのために参照されます。

検索を介することなく GetTag を使い、フォールバックで 現在使用されているサブシェーダーを検出できます。別の値を持つ各サブシェーダーにカスタムのタグを追加し、 実行時に値を照会します。たとえば、Unity の Water で でシェーダーが非反射に該当するとき、この関数を検出するために使用し、該当すると反射のカメラをオフにします。

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); } }