Shader.Find
Declaration
public static Shader Find(string name);Описание
Находит шейдер с заданным name. Возвращает null, если шейдер не найден.
Shader.Find может быть использован для переключения на другой шейдер без необходимости сохранять ссылку на шейдер.
name это имя, которое вы можете увидеть в всплывающем окне шейдера любого материала, например "Стандарт", "Не освещенный/Текстура", "Старые шейдеры/Диффузный" и т.д.
Обратите внимание, что шейдер может не быть включен в сборку проигрывателя, если на него нет ссылки. В этом случае Shader.Find будет работать только в Редакторе и приведет к розовому ошибочный шейдер Для того, чтобы убедиться, что шейдер включен в сборку игры, сделайте одно из следующих действий: 1) сделайте ссылку на него из некоторых материалов, использованных в вашем Scene, 2) добавьте его в список "Всегда включенные шейдеры" в ProjectSettings/Graphics или 3) поместите шейдер или что-то, что ссылается на него (e.g. a Material) в папку "Ресурсы".
Дополнительные ресурсы: Material class.
using UnityEngine;
public class Example : MonoBehaviour { // Create a material from code void Start() { // Create a material with transparent diffuse shader Material material = new Material(Shader.Find("Transparent/Diffuse")); material.color = Color.green;
// assign the material to the renderer GetComponent<Renderer>().material = material; } }