Unity 6.3
0 онлайн 134 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 227 из 442

Создание файла шейдера

Ассет шейдера — это ассет в вашем проекте Unity, который определяет Объект шейдера. Это текстовый файл с .shader расширение. Он содержит код шейдера.

  1. Выберите Активы > Создание > Шейдера из главного меню.

  2. Создать шейдер.

Можно создать следующие типы шейдеров:

Тип шейдера Описание
Стандартный шейдер поверхностей Шейдер, который позволяет вам писать упрощенный код шейдера, который взаимодействует с освещением.
Неосвещённый шейдер Базовый шейдер, который отображает текстуру без какого-либо освещения.
Шейдер эффектов изображений Файл шейдера, связанный с C# скрипт, который создает эффект изображения.
Вычислите шейдер Шейдер, который выполняет вычисления на GPU, вне обычного графического конвейера.
Шейдер с лучевой трассировкой Шейдер, выполняющий вычисления, связанные с трассированием лучей.

Unity заполняет новый файл .shader в вашей папке Assets базовым кодом.

Создание файла шейдера вручную

Чтобы определить объект Shader в ShaderLab, используйте блок Shader. На этой странице содержится информация об использовании блоков Shader.

Информацию о том, как работает объект Shader, и о взаимоотношениях между объектами Shader, SubShaders и Passes, см. в Введение в объекты Shader.

Этот пример демонстрирует базовый синтаксис и структуру объекта Shader. Объект Shader имеет один SubShader, который содержит один проход. Он определяет свойства материала, CustomEditor и Fallback.

Shader "Examples/ShaderSyntax"
{
    CustomEditor = "ExampleCustomEditor"

    Properties
    {
        // Material property declarations go here
    }
    SubShader
    {
        // The code that defines the rest of the SubShader goes here

        Pass
        {
           // The code that defines the Pass goes here
        }
    }

    Fallback "ExampleFallbackShader"
}

Например, пользовательские шейдеры, которые совместимы с различными конвейерами рендеринга, см. Пример пользовательских шейдеров

Старые имена шейдеров

До появления Unity 5.0 некоторые функции шейдера определялись путем и именем. Так по-прежнему работают Unity Legacy Shaders. Изменение имени этих шейдеров может повлиять на их функциональные возможности.

Отключить автоматическое обновление

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

Unity регулярно обновляет шейдеры для поддержания совместимости с изменениями в синтаксисе, APIs или конвейере рендеринга.

Дополнительные ресурсы