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

Команда UsePass вставляет именованный проход из другой Shaderпрограммы, работающей на графическом процессоре. Подробнее
См. в объекте Словарь
. Вы можете использовать эту команду, чтобы уменьшить дублирование кода в исходных файлах шейдеров.

Информацию о добавлении имени к проходу в ShaderLabязыке Unity для определения структуры объектов Shader. Подробнее
См. в коде Словарь
, см. ShaderLab: добавление имени к пропуску.

Совместимость конвейера рендеринга

Название функции Встроенный конвейер рендеринга Универсальный конвейер рендеринга (URP) Конвейер рендеринга высокого разрешения (HDRP) Пользовательский SRP
UsePass Да Да Да Да

Usage

Подпись Функции
UsePass "Shader object name/PASS NAME IN UPPERCASE" Вставляет именованный проход из именованного объекта Shader.

Если именованный объект Shader содержит более одного SubShader, Unity выполняет итерацию по SubShader, пока не найдет первый поддерживаемый SubShader, содержащий Pass с заданным именем. Для получения информации о том, как Unity определяет, поддерживается ли вспомогательный шейдер, см. введение в объекты шейдера.

Если SubShader содержит более одного прохода с одинаковым именем, Unity возвращает последний найденный проход.

Если Unity не находит соответствующий проход, отображается шейдер ошибок.

Примеры

В этом примере кода создается объект Shader с именем NamedPass, который содержит Pass с именем ExampleNamedPass.

Shader "Examples/ContainsNamedPass" { SubShader { Pass { Name "ExampleNamedPass" // The rest of the Pass contents go here. } } }

В этом примере кода создается объект Shader с именем UseNamedPass, который использует именованный проход из приведенного выше примера кода.

Shader "Examples/UsesNamedPass" { SubShader { UsePass "Examples/ContainsNamedPass/EXAMPLENAMEDPASS" } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3