Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Material.GetTag

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public function GetTag(tag: string, searchFallbacks: bool, defaultValue: string = ""): string;
public string GetTag(string tag, bool searchFallbacks, string defaultValue = "");

Parameters

Description

マテリアルのシェーダーのタグ名を取得します

マテリアルのシェーダーにタグが定義されていない場合、 defaultValue が返されます。

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

検索を介することなく 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); } }