27 lines
4.1 KiB
Markdown
27 lines
4.1 KiB
Markdown
---
|
|
code: MAT004
|
|
title: Материал, назначение шейдера или ссылка на текстуру несовместимы с местом использования.
|
|
---
|
|
|
|
Назначение шейдера, его схема или текстуры материала несовместимы с местом использования.
|
|
|
|
**Исправление.** Найдите указанный ресурс и по полной причине исправьте несовместимое назначение или зависимость, сохранив смысл шейдера и постоянные ссылки.
|
|
|
|
## Найдите несовместимое назначение
|
|
|
|
Прочитайте причину после кода. MAT004 обозначает несовпадение назначения шейдера, отсутствие его схемы или ссылки на материал, а также неразрешённые или несовместимые текстуры. Некоторые неразрешённые ссылки сохраняются с предупреждением; сам код не означает, что файл потерян.
|
|
|
|
Выберите запись в Console или Problems. Найдите указанный путь или AssetID, затем проверьте шейдер материала и место его использования. При вложении в [SHD009](ref:SHD009) сохраняйте внешнюю ошибку драйвера и внутреннюю причину MAT004: это разные уровни сбоя.
|
|
|
|
| Причина в сообщении | Исправление |
|
|
|---|---|
|
|
| `postfx shader cannot draw sprite geometry` | Используйте материал в Custom-эффекте Post Process камеры. Для SpriteRenderer выберите совместимый спрайтовый материал; не меняйте назначение postfx-шейдера. |
|
|
| Назначение шейдера изменилось или место использования требует другое | Проверьте шейдер материала и использующий его компонент. Верните совместимое назначение, соответствующее задаче. |
|
|
| Недоступна схема шейдера или ресурс материала | Найдите исходник по AssetID и прочитайте актуальную ошибку его импорта. Исправляйте зависимость, а не заменяйте ID произвольно. |
|
|
| Не удаётся разрешить текстуру | Найдите её `.meta` и исходник, проверьте подресурс и актуальный результат импорта. Сохранённая ссылка не означает успешную загрузку. |
|
|
| Несовместимы normal/emission или привязка области | Назначьте текстуру, импортированную для нужного канала поверхности и с подходящей привязкой области. Данные нормали должны быть линейными, без premultiply; emission использует поддерживаемую роль RGB или маски. |
|
|
|
|
## Проверьте исправление
|
|
|
|
Сохраните исправленный исходник или назначение, при необходимости импортируйте затронутую зависимость и проверьте то же место использования во время Play. Убедитесь, что появился нужный спрайт, normal, emission или эффект камеры и полная причина ошибки больше не возникает. Не меняйте посторонние материалы и AssetID. См. [материалы и шейдеры](ref:render2d/materials) и [постобработку камеры](ref:render2d.PostProcess).
|