Описание
Находит шейдер с заданным name
.
Shader.Find можно использовать для переключения на другой шейдер без сохранения ссылки на шейдер. name
— это имя, которое вы можете увидеть во всплывающем окне шейдера любого материала, например "Стандартный", "Неосвещенный/Текстура", "Устаревшие шейдеры/Рассеянный" и т. д.
Обратите внимание, что шейдер может быть не включен в сборку проигрывателя, если на него нет ссылок. В этом случае Shader.Find будет работать только в редакторе и приведет к розовому шейдеру ошибок в сборке. Из-за этого рекомендуется использовать ссылки на шейдеры, а не искать их по имени. Чтобы убедиться, что шейдер включен в сборку игры, выполните одно из следующих действий:
1) сослаться на него из некоторых материалов, используемых в вашей Сцене.
2) добавьте его в список «Всегда включенные шейдеры» в ProjectSettings/Graphics или...
3) поместите шейдер или что-то, что на него ссылается (например, материал), в папку «Resources».
Смотрите так же: Material.
using UnityEngine;
public class Example : MonoBehaviour
{
// Создаем материал из кода
void Start()
{
// Создаем материал с прозрачным диффузным шейдером
Material material = new Material(Shader.Find("Transparent/Diffuse"));
material.color = Color.green;
// назначаем материал рендереру
GetComponent<Renderer>().material = material;
}
}