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

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Shader.Find

マニュアルに切り替える
public static Shader Find(string name);

パラメーター

説明

名前からシェーダーを検索します

Shader.Find はシェーダーへの参照を維持することがなく別のシェーダーに切り替えるために使用できます。 name は、各マテリアルのシェーダーポップアップに表示される名称です。例えば、 "Standard" 、 "Unlit/Texture" 、 "Legacy Shaders/Diffuse" などです。

何も参照されていないシェーダーは、プレーヤービルドに含まれません!この場合、 Shader.Find は、 その場合、Shader.Find はエディターでのみ動作します。プレーヤーのビルドでピンクの "missing shader" マテリアルの結果になります。そのため、名前でそれらを検索するかわりにシェーダーのリファレンスを使用することをお勧めします。 シェーダーを名前以外で検索して参照する場合に機能します。シェーダーがゲームビルドに含まれているかどうか確認する場合は、以下の何れかを実行します: 1) シーンで使用されるマテリアルの一部からそれを参照します。2) ProjectSettings/Graphics で "Always Included Shaders" リストの下にそれを追加するか 3) "Resources" フォルダーにシェーダーやそれ (マテリアルなど) を参照する何かを置きます。

関連項目: Material クラス

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Material material = new Material(Shader.Find("Transparent/Diffuse")); material.color = Color.green; GetComponent<Renderer>().material = material; } }