Задача по шейдерам на базе UNITY
Основная задача: Реализовать систему материалов и/или скриптов на базе Unity (c#, shaderlab) для послойного отображения меша-одежды на персонаже для standard или URP-render пайплайна.
Общее описание:
Меш остается постоянным, меняются текстуры для одежды.Основные требования:
- Тело персонажа не должно просвечивать сквозь одежду при движении (анимации)
- Слой одежды, расположенный ниже по уровню не должен просвечивать сквозь одежду более высокого уровня
- Материалы должны поддерживать на вход rgba текстуру, где альфа канал несет информацию, где должен быть виден материал (либо как отдельная черно-белая маска-текстура)
- Материалы должны иметь возможность добавлять черно-белые маски, которые будут решать следующие задачи:
- укорачивание изделия (длина подола/штанины)
- укорачивание рукавов
- изменение формы выреза
- (на основе совмещения альфы основной текстуры и маски регулируется длина подола/длина рукавов)
- Материалы имеют слот под карту нормалей
Дополнительные требования:
- Материалы имеют слот под карту высот
- В идеале возможность динамического слоя для обуви (чтобы иметь возможность переключать отображение слоя: поверх/под штанами)
Слои:
0 - тело персонажа1 - обувь (shoes)2 - штаны (pants)3 - кофта-платье (shirt-dress)4 - пальто (outwear)5 - шарф (scarf)
Примеры визуального отображения - Меш для слоя shirt-dress, outwear, scarf одинаковый. Тестовые меши и текстуры для разработки находятся в папке меши и текстуры