Обновляем прическу персонажа: шаг за шагом

В прошлой статье мы рассказывали о том, как искали и нашли способ сделать реалистичную графику для волос персонажа из Vikings: War of Clans, ничего не сломав в проекте. Теперь поговорим о том, каким был процесс создания новой прически и опишем все шаги: от ресерчей и набросков до финального шейдинга. Поехали!

Итак, чтобы реализовать нашу задумку, которая подразумевала использование плашек, как в проектах ААА-класса, нам нужно было уложиться в 2 000 полигонов на волосы и в 512х512 пикселей текстуры с жесткой альфой.

Мы сделали шейдеры с двумя UV-каналами: с диффузной текстурой на первом и одинаковой для всех кончиков волос большой альфой на втором. Нам удалось остаться в пределах карты в 512 пикселей, да еще и с нужной прозрачностью для кончиков. Однако альфа на экране мобильного девайса была незаметной и общую картину не исправляла.
2.jpg
Поэтому мы продолжили экспериментировать. Скомбинировали диффузные волосы, которые у нас уже были, с дополнительными плашками, вставленными в прическу под углом 90 градусов. Здесь снова применили второй UV-канал с двумя локонами по 256 пикселей длиной — роскошь для персонажа из мобильной игры.
3.jpg
Но и такой вариант не подошел. Тогда мы стали делать прическу целиком из плашек. И использовали не привычный для этого XGen или Ornatrix, а Blender с плагином Hair Tool.
4.jpg
На первых набросках лоупольные волосы с простым освещением и без использования нормали и flowmap выглядели плохо. К тому же шейдинг на плашках работал некорректно. Зато мы выяснили, что 512 пикселей для текстуры и 256 для локона достаточно, чтобы волосы имели детализированную прозрачность и гармонично смотрелись с моделью персонажа.

Мы сделали другую модель прически, изменив дизайн, длину волос и сам способ моделирования, разработали новый шейдер с анизотропией.
Плашки отмоделили в Blender с помощью Hair Tool отдельными локонами, запекли в текстуру, а затем покрасили. Дорисовали волосы самому персонажу, чтобы лысина не просвечивалась через парик.
6.jpg
На лоуполи блик выглядел некорректно, но мы его пофиксили — перепекли группы сглаживания со сферы. После этого покрасили текстуру.
7.jpg
Настало время делать финальную трехмерную модель с учетом всех спецификаций, которые мы успели наресерчить. Сперва хотели немного изменить форму прически и набросали простых скетчей в ZBrush.
8.jpg
В итоге взяли вариант, близкий к первоначальному, но с небольшими доработками. Отталкиваясь от готовой текстуры с opacity, diffuse и от MatCap Shader, мы расставили UV.

Модель прошла несколько итераций. Мы долго проверяли ее на работоспособность, чтобы исключить косяки. Подправляли вершины там, где плашки пересекались не очень красиво.
9.jpg
После всего этого мы отправили финальный меш на текстурирование и применили шейдер с анизотропией, реализованной через MatCap.

Дело сделано, а результат красуется в игре!

743 0 850 6
0
RENDER.RU