Проблема с покраской материалов. При смене шейдера на любой другой материал приобретает розовый цвет и не меняет его
При создании материалов у всех выбран шейдер Universal Render PipeLine/Lit. Смотрю видеокурс по Unity, автор меняет шейдеры на Standart и Mobile/Diffuse. Если так делаю я, то материал приобретает розовый цвет и не меняет его при выборе другого цвета через палитру (Standart) и даже при выборе текстур (в Mobile/Diffuse).
Ответы (1 шт):
В Unity есть 3 системы рендеринга:
- Built-in Render Pipeline
- Universal Render Pipeline
- High Definition Render Pipeline.
При создании проекта в Unity Hub можно выбрать соответствубщий шаблон.
Шейдеры создаются под каждую систему свои, и, за очень редкими исключениями, они не совместимы с другими системами. Когда заданный шейдер не может быть использован, Unity отображает объект розовым цветом (ещё есть голубой цвет, когда шейдер валиден, но ещё не готов).
Соответственно, у вас создан проект, который использует Universal Render PipeLine, т.е. для него подходят шейдеры, которые лежат в Universal Render PipeLine/, а в видеокурсе, очевидно (по названиям шейдеров), используется Built-in Render Pipeline.
Решить это можно одним из следующих способов:
- Выбрать ассет материала в Unity и конвертировать его в URP с помощью
Edit->Rendering->Materials->Convert Selected Built-in Materials to URP. Это сработает для большинства стандартных шейдеров, но если в курсе будут кастомные шейдеры, то не поможет. - Создать проект, использующий Built-in Render Pipeline.
- (Сложно) изменить Render Pipeline в существующем проекте.
- (Сложно) создать шейдеры самостоятельно.