Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

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