Создание волос для персонажа видеоигры
Меня зовут Келвин Верхулен (Calvin Verhoolen), я живу в Берлине (Германия) и работаю главным художником по персонажам.
Я начал карьеру в 3D-индустрии в 2000 году, работая в Eurocom Development Ltd. UK над играми вроде The world is not enough, Nightfire (обе – про Джеймса Бонда) и Pirates of the Carribean. После этого я работал в Climax Ltd. над Silent Hill Origins, а затем вернулся в Германию, где присоединился к команде Yager Development и трудился над классными проектами вроде Spec Ops: The Line и Dead Island 2. Кроме того, я работал над несколькими интересными мобильными играми в Wooga.
Я самоучка и люблю учиться чему-то новому, чем бы не занимался. Но самый быстрый способ – это, разумеется, черпать знания у хорошего учителя. Это и привело меня на CGMA, где был отличный выбор курсов и преподавателей. Когда я увидел, как Йохан Литвалл (Johan Lithvall) показывает свой курс «Создание волос в играх», я вписался безо всяких сомнений.
Главное – референсы
Создание волос – это одновременно интересно и трудно, потому что в этом процессе очень много вещей, которые должны быть сделаны правильно.
Эта работа требует очень много времени, и я еще не встречал человека, который делает волосы быстро. Как и в остальном CG, самое важное в создании волос – это референсы.
Волосы – это один из лучших инструментов для создания индивидуальности персонажа. Они очень много говорят о его жизненной позиции.
Какую именно прическу я хочу? Персонаж будет аккуратно причесанным или он/она/оно считает, что уход за волосами – пустая трата времени?
Как волосы будут обрамлять лицо? Они будут его скрывать? Какого они будут цвета?
Все эти решения в конце концов формируют то, как люди будут воспринимать личность и цели персонажа.
Когда референсы собраны и примерно иллюстрируют то, что вы хотите изобразить, вам нужно понять, как будущая прическа будут выглядеть в физическом пространстве. Где будут находиться корни волос? В каком направлении они будут расти? Каким образом волосы будут отделены от кожи? Какова их структура? Будут ли они украшены какими-то интересными деталями?
Рабочий процесс
Планирование
Вооружившись всей этой информацией, вы начинаете планировать будущую прическу. Поскольку волосы будут «работать» в реальном времени, вам предстоит учесть технические ограничения виртуального мира, для которого создается модель. Исходя из этого, вы примерно прикидываете количество полигонов и текстурное пространство.
Начните планировать текстуру, нарисовав быструю карту в Photoshop. Это также позволит более глубоко изучить собранные референсы. Если волосы длинные, то для них лучше взять текстуру с соотношением сторон 2:1, держа в уме то, что в будущем вам, возможно, понадобится место для дополнительных волос. На картинке ниже изображены локоны, густота волос в которых увеличивается слева направо.
Текстура
Следующий пункт назначения – это программа XGen, с помощью которой вы будете создавать текстуры для финальной версии волос. Сделайте плоскую поверхность с тем же соотношением сторон, что и у базовой текстуры, которую вы сделали на этапе планирования. Наложите эту текстуру на созданную поверхность.
Затем при помощи экструзии поднимите верхний край плоскости. В результате получится новая плоскость, расположенная перпендикулярно главной плоскости. Теперь откройте «вид сверху» и начните рисовать на главной плоскости сплайновые кривые, используя в качестве референса подложенную текстуру. Затем эти кривые будут преобразованы в линии XGen, с помощью которой можно задать количество волос на одной локон-сетке, скопления, шум и прочие атрибуты волос.
После этого волосы нужно преобразовать в геометрию и запечь на нижней плоскости. С помощью этого вы можете создать все текстурные карты, используемые шейдером Unreal. Это карта высот, альфа, некоторые градиенты и ID-карта. Затем нижнюю плоскость можно порезать на конечные локон-сетки (т.е. сетки, каждая из которых отвечает за отдельный локон волос).
Сетка
Итак, локон-сетки и текстуры созданы. Теперь можно, наконец, приступить к созданию самой модели волос.
Локон-сетки с самыми густыми волосами используются, чтобы задать общий вид прически. На этом этапе важно убедиться, что через волосы не будет видно череп или даже обратную сторону волос. Когда «черновая» прическа сделана, сверху можно наложить второй и третий слой, оставляя немного негативного пространства, чтобы придать волосам глубины. Как и при создании других CG-ассетов, постепенно переходите от крупных деталей к деталям помельче. Дальше наступает черед самой увлекательной части – придания прическе конечных объема, направленности и формы. Наконец, завершаем работу над моделью, добавляя немного «непослушных» волос.
Движок
Итак, мы закончили модель волос, и она почти готова к импорту в движок. Осталось лишь запечь в вершины объемный свет, чтобы добавить прическе глубины и упростить управляемость шейдером. Сделав это, импортируйте модель волос и текстуры. Шейдер, используемый для этого ассета – это шейдер волос, который Epic использует в своей персонажной бенчмарк-сцене. Далее нужно лишь аккуратно отрегулировать параметры этого шейдера.
У моей модели получилось около 40 тысяч полигонов, и для волос это многовато. Из этой прически можно немало вырезать, особенно из самого базового, «чернового» слоя, т.к. в нем может быть много излишков. Кроме того, «непослушные» волосы на дальних LOD’ах можно выключить, а затем поработать с остальными слоями при помощи Simplygon.
В заключение
Волосы в реальном времени – это по-прежнему очень непростая задача. Создание волос отнимает кучу времени, даже если вы бывалый цифровой визажист, переделавший кучу причесок. Их нельзя ни отсканировать, ни сделать автоматически, поэтому нужно действовать как всегда: исследование, планирование, запекание, текстурирование, создание сетки, интеграция в движок и подготовка к анимации. Все эти этапы отнимают бездну времени независимо от проекта.
Анимация волос – это отдельная задача с собственными трудностями, поскольку физика, примененная к локон-сеткам, может привести к их пересечению, что мгновенно рушит всю иллюзию.
Но! Если все сделано как надо, ваши персонажи будут действительно классными, что придаст им и вашему проекту больше глубины.
Я могу дать один совет, который слышу всю свою карьеру, а теперь услышал и от Йохана. Любимчиков нужно убивать сразу. Делайте все необходимые проходы, но делайте быстро, чтобы уложиться в график. Обязательно сделайте начальный набросок, который ответит на все важные вопросы, но аккуратно планируйте свою работу, чтобы не расходовать бюджет и успевать по времени.
Я пробежался по своему рабочему процессу довольно быстро, но надеюсь, что читателю он будет полезен. Если вы хотите познакомиться с этой техникой поближе, советую пройти курс. Я думаю, мне по-настоящему повезло быть участником CGMA-курса «Создание волос в играх», который ведет Йохан Литвалл.
Оригинальный материал можно прочесть тут.