Найти тему
Stronghold of gamedev

Как работают генераторы персонажей

Оглавление

Что является одним из важных аспектов погружения в игру? Вариативность, а точнее, например : система диалогов, выбор класса, его гибкая прокачка и возможность сотворить своего героя.
Но лишь последний из названных, не является обязательным атрибутом ролевой игры, а значит появился не сразу.

После появления первых больших MMORPG, где создание персонажа является важнейшей частью приключений игрока, методы сего действа начали разнится и развиваться абстрактно друг от друга.
Если в многопользовательской игре приходилось балансировать возможности кастомизации с нагрузкой на сервера и общей оптимизацией, одиночные проекты могли позволить себе куда больше.

Я, например, был приятно удивлен обширными возможностями редактора персонажа в Oblivion, где я, в процессе создания своего чемпиона Сиродила, будто в зеркало глядел.

Пресеты и MMORPG

К сожалению там, где много возможностей, много и ограничений, но сугубо технических. Например MMORPG как начались с конструкторов из пресетов, так и следуют этой тенденции по сей день.

-2

Как оно водится, общие формы персонажа определяет выбранная раса, пол и цвет кожи - одна из заготовленных текстур, а вот с тем что выше - можно поиграться.

Голова подразделена на очевидные части, среди которых например глаза, рот, нос и так далее. Среди них и предстоит выбирать, а итоговое сочетание и будет уникализировать вашего героя.

-3

Говоря о техническом вопросе, важно сказать, что моделей под каждый из итоговый вариантов очевидно не тысяча, редактор действительно предлагает собрать свою геометрию модели.

И если волосы являются отдельной частью и с ними все понятно, то как же можно безболезненно для геометрической сетки заменить отдельные её части? Зачастую они не меняются как таковые, тоесть на один кадр в голове на месте носа не образуется дырка, что сразу же заменится другим носом, само расположение вершин в отдельной части геометрии поменяется.

Давайте обзовем это ключевыми формами - есть набор вершин, что объединяется в группу вершин (они не становятся отдельными от геометрии, просто помечаются), что содержит в себе их индексы и координаты. Меняя же прямо в 3D редакторе расположение этих вершин, можно получить новую форму, запомнив и её координаты.

Впоследствии чтобы изменить форму части тела в генераторе, необходимо просто выбрать понравившуюся, что несет в себе новые координаты вершин для конкретной части геометрии.
Важным плюсом является ненадобность допиливать под неё свои текстуры, а перерасчетом нормалей для корректной работы со светом может заняться и движок.

Ползунки и телосложения

Если MMORPG для отображения стороннего игрока получает с сервера айди выбранных частей тела из пресетов, то в одиночных проектах дозволено куда больше, ведь мир населяют заведомо созданные неписи, а не тысячи, на первый взгляд, визуально уникальных игроков.

От того модель игрока зачастую можно детализировать до мельчайших деталей, ответственными за которые в интерфейсе редактирования обычно ползунки.

-4

Их регулирование может дать разные результаты - увеличить мыщцу, горбинку на носу или, например, вовсе сдвинуть его, но в строго определенном диапазоне.

Технически они являются уже знакомыми нам по лицевой анимации blend shape'ами, что от стандартной формы стремятся к иной, ранее указанной в 3D редакторе. Покажу на примере икроножной мыщцы :

-5

Для шейпа я просто растянул и увеличил вершины в районе икроножной мыщцы, указав тем самым форму для трансформации. Конечно это грубый пример, ведь пользуясь этой штукой можно совершенно видоизменить часть модели, но только путем передвижения вершин, сохраняя изначальную детализацию сетки.

Так в чем же принципиальное отличие от первого метода? А в том, что меж стандартной и "ультимативной" формой части тела, существует еще 99 промежуточных значений, каждое из которых может быть использовано. А еще несколько шейпов могут влиять на один и тот же кусок геометрии, что так же придает гибкость.

И все же корейцы активно проталкивают в свои MMORPG бленд шейпы, хвастаясь к анонсу каждого проекта, "инновационным" редактором персонажей.
Нагрузка на сервера увеличивается так же, ведь теперь кроме айди части тела нужно передавать еще и значение бленд шейпа для визуализации модели игрока, поэтому в играх где существует масс пвп, зачастую прикручивается режим минимальной детализации, где все становятся на одно лицо.