Задача по шейдерам на базе UNITY

Основная задача: Реализовать систему материалов и/или скриптов на базе Unity (c#, shaderlab) для послойного отображения меша-одежды на персонаже для standard или URP-render пайплайна.

Общее описание:

Меш остается постоянным, меняются текстуры для одежды.

Основные требования:

  1. Тело персонажа не должно просвечивать сквозь одежду при движении (анимации)
  2. Слой одежды, расположенный ниже по уровню не должен просвечивать сквозь одежду более высокого уровня
  3. Материалы должны поддерживать на вход rgba текстуру, где альфа канал несет информацию, где должен быть виден материал (либо как отдельная черно-белая маска-текстура)
  4. Материалы должны иметь возможность добавлять черно-белые маски, которые будут решать следующие задачи:
  • укорачивание изделия (длина подола/штанины)
  • укорачивание рукавов
  • изменение формы выреза
  • (на основе совмещения альфы основной текстуры и маски регулируется длина подола/длина рукавов)
    1. Материалы имеют слот под карту нормалей

    Дополнительные требования:

    1. Материалы имеют слот под карту высот
    2. В идеале возможность динамического слоя для обуви (чтобы иметь возможность переключать отображение слоя: поверх/под штанами)

    Слои:


    0 - тело персонажа1 - обувь (shoes)2 - штаны (pants)3 - кофта-платье (shirt-dress)4 - пальто (outwear)5 - шарф (scarf)

    Примеры визуального отображения
  • Меш для слоя shirt-dress, outwear, scarf одинаковый. Тестовые меши и текстуры для разработки находятся в папке меши и текстуры

Читайте на 123ru.net