Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

ShaderGUI

класс в UnityEditor

Описание

Абстрактный класс для определения пользовательского графического интерфейса для свойств шейдера и для расширения предварительного просмотра материала.

Наследуйте от этого класса для управления представлением свойств шейдера. Чтобы шейдер мог использовать этот настраиваемый графический интерфейс, используйте свойство CustomEditor в шейдере. Обратите внимание, что CustomEditor также можно использовать для классов, производных от MaterialEditor (ищите: Пользовательские редакторы материалов). Примечание. Только подход ShaderGUI работает с материалами Substance, поэтому это рекомендуемый подход к пользовательскому графическому интерфейсу для шейдеров. Смотрите ShaderGUI.OnGUI, ShaderGUI.OnMaterialPreviewGUI, ShaderGUI.OnMaterialPreviewSettingsGUI.

using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.Linq;

public class CustomShaderGUI : ShaderGUI { override public void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) { // render the shader properties using the default GUI base.OnGUI(materialEditor, properties);

// get the current keywords from the material Material targetMat = materialEditor.target as Material; string[] keyWords = targetMat.shaderKeywords;

// see if redify is set, then show a checkbox bool redify = keyWords.Contains("REDIFY_ON"); EditorGUI.BeginChangeCheck(); redify = EditorGUILayout.Toggle("Redify material", redify); if (EditorGUI.EndChangeCheck()) { // if the checkbox is changed, reset the shader keywords var keywords = new List { redify ? "REDIFY_ON" : "REDIFY_OFF" }; targetMat.shaderKeywords = keywords.ToArray(); EditorUtility.SetDirty(targetMat); } } }

Публичные Методы

AssignNewShaderToMaterial Этот метод вызывается, когда для Материала выбран новый шейдер.
OnClosed Этот метод вызывается при закрытии ShaderGUI.
OnGUI Чтобы определить собственный графический интерфейс шейдера, используйте методы materialEditor для отображения элементов управления для массива свойств.
OnMaterialPreviewGUI Переопределение для расширения рендеринга области предварительного просмотра или полной замены предварительного просмотра (без вызова base.OnMaterialPreviewGUI).
OnMaterialPreviewSettingsGUI Переопределение для расширения функциональности панели инструментов области предварительного просмотра или полной замены панели инструментов без вызова base.OnMaterialPreviewSettingsGUI.

Статические Методы

FindProperty Находит свойства шейдера.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3