Построение 3D моделей носимых устройств в Decentraland (общая информация)

Внимание!! Оригинальная статья тут, перевод был выполнен 03.03.2022, перевод не является дословным, в нем присутствуют авторские изменения и дополнения.

Давайте создадим элемент внешнего вида для Decentraland.

Для гарантии стабильной работы Decentraland, важно создавать wearables (носимые устройства, элементы внешнего вида, вещи) без большого количества полигонов. Цель – сохранить баланс между детальностью и простотой отрисовки, рендерингом.

Аналогично по текстурам, чем меньше, тем лучше.

Количество используемых полигонов и текстур ограничено:

До того, как вы начнете работу, скачайте примеры сеток, текстур, вещей.

Голова, туловище, ноги (и ступни)

После того, как вы скачаете и загрузите модель, например в Blender. Вы заметите, что каждая модель состоит из 7 разных сеток, относящихся к скелету (armature). Сетки представляют собой голову, брови, глаза, рот, туловище, ноги и ступни. Вы можете использовать модели, как референсы для создания своих собственных вещей.

Важно не изменяйте пропорции между частями тела, если только вы не хотите получить «плавающую» голову.

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

alt text

Существует 2 основных материалы для модели аватара. Один из материалов используется для вещей, другой для кожи.

alt text

Каждая сетка имеет собственную текстуру кожи (аватар A мужской, B женский).

alt text Кожа аватара формы А

alt text Кожа аватара формы B

Вы можете заметить, что кожа рендерится серым цветом, это дает возможность применять тот цвет для кожи, который будет предпочитать пользователь (настройка пользователем происходит при создании аватара, но можно вносить изменения и после).

alt text

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

alt text

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

alt text

Брови, глаза и рот

Сетки бровей, глаз, рта, работают с прозрачным шейдером, потому у вас нет необходимости делать что-то помимо своих png текстур, если вы хотите создать новый стиль для упомянутых выше частей тела. Текстуры должны быть 256x256px и иметь альфа канал (alpha channel) для прозрачности.

Несколько примеров текстур png:

alt text Глаза

alt text Брови

alt text Брови

alt text Рот

alt text Рот

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

alt text

alt text

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

alt text Экран настройки глаз аватара в Decentraland

Волосы и усы

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

alt text

Skin weighting (псевдо кожа)

Skin weighting — это процесс определения, какие кости в основе аватара влияют на носимые вещи, плотно не прилегающие к видимой части тела. Следует учитывать следующие моменты. Каждый набор вещей должен быть нанесен по скелету. Например, кофта будет выглядеть следующим образом:

alt text

Вещи, которые присутствуют на пересечение частей тела, должны быть полностью привязаны к одной части тела (то есть, например, если у вас комбинезон, он может быть привязан к туловищу). В случае с рубашкой воротник будет привязан к шейной «кости».

alt text

Ключевые «кости», которые следует использовать при создании псевдо кожи, являются:

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

Помните, что вы можете использовать любую кость для воздействия на вещь, плотно не прилегающую к телу! Например, вы можете создать новую сетку ступни для высоких сапог и прикрепить верхнюю часть сапог к «костям» ног. Или можно создать длинные волосы и использовать «кости» плеча или позвоночника для воздействия на волосы при движении аватара.