Шейдеры и материалы: выбрать задачу
Проверенные практические маршруты для 2D-эффектов, 3D-поверхностей и управления материалами.
Найти нужную задачу
| Задача | Руководство |
|---|---|
| Понять границу между C# и GPU | Введение в шейдеры |
| Изменить цвет, прозрачность и проявление Sprite2D | Первый 2D shader |
| Создать рельеф из карты высот | Первый 3D shader |
| Управлять PBR и независимыми параметрами объектов | Материал и параметры |
| Настроить обычную поверхность без своей программы | StandardMaterial3D |
| Проецировать следы и разметку | Декали |
| Настроить фон, свет среды и эффекты | Environment |
Выбрать тип программы
canvas_item обрабатывает 2D-поверхности, spatial — 3D-материалы. Туман, небо, частицы и compute относятся к другим типам задач; переносить их код в fragment() обычного Sprite2D нельзя.
Shader — программа. ShaderMaterial хранит её ссылку и значения обычных uniform. Назначение материала и способ управления параметрами зависят от получателя. Два материала с одним Shader могут иметь разные значения; два объекта с одним ShaderMaterial делят эти значения.
Начните с готового примера нужной размерности. Сохраните исходный кадр и меняйте один параметр. Сначала проверьте ресурс, имя uniform и тип значения; затем — формулу и освещение. Наличие записи в кеше материала не доказывает, что shader использует это имя.
Открыть API
Shader — программа и метаданные. ShaderMaterial — параметры ресурса. CanvasItem — 2D-назначение, modulation и наследование. GeometryInstance3D — индивидуальные параметры 3D-геометрии.