Digital fashion: требования к цифровой одежде в играх, приложениях и метавселенных
Как моделить так, чтобы не переделывать по 100 раз
Важные вопросы к самому себе и разработчикам в случае отсутствия внятного технического задания.
Стилистика одежды
Перед началом проектирования game ready одежды в первую очередь стоит отталкиваться от формы и силуэта, так как общее пятно контура определяет характер персонажа или объекта дополненной примерки. Если укрупненно, то круглые формы – что-то доброе, неагрессивное, острые формы – жесткое, динамичное. Проверяется это так, уберите из вашей модели одежды объем, цвет, оставьте такое пятно Роршаха. Что вы видите в контуре, какие эмоции вызывает, не сильно облизанный контур, есть за что глазу зацепиться? После этого уже можно заниматься визуальным причесыванием образа.
Количество полигонов и топология
Лимит рассчитывается для обеспечения требуемого FPS (частоты кадров рендеринга в секунду) из общего ограничения полигонов и текстур на локацию, зависит от движка и устройств, под которые делается проект.
В мобильной игре на важном объекте суммарно может быть 1-7к полигонов вместе с одеждой. В средних играх важные объекты по 20-30к полигонов. Современные игры тянут модели по 50-150к полигонов и больше.
Например: Тревор и Майкл в GTA V – 24к и 30к Элли и Джоел в The Last Of Us – 31к и 40к Райдер в Mass Effect: Andromeda – 65к Джек Джойс в Quantum Break – 75к Мариус в Ryse: Son of Rome – 80к Джек Бейкер в Resident Evil 7 – 121к Автомобиль Ruf в Project CARS – 180к Лара Крофт в Rise of the Tomb Raider – 200к Элой в Horizon: Zero Dawn – 600к
Какие текстурные карты требуются, какие могут быть в принципе, разрешение текстур
Кто-то использует полные PBR-текстуры, а кто-то ограничивается плоским цветом даже без карт металличности и/ или шероховатости. Не забываем про необходимость POT-текстур и предварительную подготовку UV-развертки вашей одежды в квадрат. Общий пайплайн разработки game ready одежды в AAA-студиях предполагает создание модели, ее ремеш и ретопологию – создание чистой сетки с нужной формой и количеством полигонов. Раньше для этих функций в одежде необходимо было использовать сторонние 3D-редакторы, например, Maya. Но сейчас приличный ретоп можно сделать в Marvelous Designer (в Clo3D нет такой функции) в комбинации автоматического и ручного режимов. Скажем спасибо, что одежда создается по лекалам и не надо резать UV-развертку ручками. Затем создают супердетализированную высокополигональную модель в ZBrush, после чего ее запекают и текстурируют в Substance Painter. Полученные текстуры используют на нашей первоначальной низкополигональной одежде, тем самым сохраняя визуальную привлекательность без создания дополнительной геометрии. Обычно количество полигонов и текстуры четко пописывается в техзадании или есть в документации к платформе, если вы размещаете на сторонних ресурсах.
В Spatial требования распространяются на загружаемый файл в целом. Рекомендуемое количество трианглов менее 15к для объектов (60к для окружения). POT-текстуры 1024x1024 px до 8 текстур единовременно. Рекомендуемый плоский шейдер Unlit без учета освещения, но поддерживает Metallic/Roughness, Specular/Glossiness PBR. В одном файле единовременно может быть 10 объектов для окружения, 3 (максимально 5) – для всех остальных объектов, поэтому лучше не загружать аватара с отдельными глазами и 15-тью пуговицами на жакете. Максимальный объем контента – 60 МБ.
С 15 марта 2023 для всех разработчиков в Spatial SDK Unity будет доступна загрузка кастомных аваторов и анимаций, взаимодействие с кнопкой. Еще Spatial обещает реализовать примерку. Аватаров можно добавить, как глобальных, когда ты ходишь в нем независимо от локации, и локальных – для выбора внутри вашей экосистемы. Глобальные аватары оптимизированы на максималках. Допускается: ✔️ 8K вертексов, 15К трианглов; ✔️ текстурные карты 1024x1024; ✔️ не больше 4 сабмешей; ✔️ физические габариты до 2.5x 2.5x 2.5 м. Локальные аватары ограничиваются преимущественно здравым смыслом и гуманным отношением к пользователям: ✔️ 100К вертексов, 200К трианглов; ✔️ текстурные карты до 4096x4096; ✔️ до 100 сабмешей; ✔️ физические габариты до 25x25x25 м.
Мы не ели, не спали, уже собрали в альфа-тесте проект со своим мерчем. Я не я без леопардового принта))
В Roblox есть два типа аватаров классические R6 и пока что нелюбимые в сообществе, но более антропоморфные, R15, состоящие из 6 и 15 частей соответственно. Экспорт происходит через собственное приложение Roblox Studio. Для многослойной одежды Roblox положились на осознанность разработчиков, поэтому официальные рекомендации еще более туманные: при проектировании учитывайте передовые методы моделирования, текстурирования объекта и минимизацию количества полигонов. Для блочных аватаров в качестве создания одежды также предлагается раскрашивать 2D-шаблон с текстурой 585х559 px. Персонажи-гуманоиды должны находиться в пределах 10к трианглов, не считая аксессуаров. Меши с меньшей детализацией, аксессуары – в пределах 4к трианглов.
В Decentraland есть несколько категорий носимых предметов, которые существуют как часть меша аватара – wearables – от скинов полностью, одежды до сережек или нимба над головой. Ограничения на количество треугольников и текстур, которые можно использовать для каждого носимого предмета или аксессуара: не более 1,5к трианглов (если считать полигонами, то делим на 2 и получаем не более 750) на носимый предмет, не более 500 трианглов (не более 250 полигонов) на аксессуар, не более двух POT-текстур с соотношением сторон 1:1 с разрешением 512x512px или ниже на носимый предмет (например, карта цвета и карта эмиссии). В случае полного скина допустимое количество 5к трианглов и 5 текстур единовременно.
Для AR-примерки в Snapchat рекомендуемые параметры экспорта одежды не более 5к полигонов (10к трианглов), POT текстуры с разрешением до 1024х1024 px. Поддерживает различные типы шейдеров (кроме карт дисплейсмента), также есть собственный PBR-шейдер с темплейтом для Substance Painter, где на выходе получаются 3 текстурные карты – карта цвета, карта нормалей и карта Material Params, которая сочетает в себе свойства карт металличности, шероховатости и окклюзии окружения. Максимальный размер загружаемого контента – 8 МБ. Вы можете загрузить объекты и с бОльшими параметрами, но либо это приведет к некорректному опыту на различных устройствах, либо Lens Studio самостоятельно внутри себя так заоптимизирует, что мама родная не узнает. Поэтому для наилучшего контроля за происходящим на дисплее лучше сразу идти в требуемых параметрах.
Нужно ли анимировать модель
Например, развевающийся плащ персонажа требует риггинга (создания костей скелета), скиннинга (оптимизации карты весов) и зацикленной скелетной анимации.
Формат экспорта одежды: FBX/ OBJ/ GLTF/ GLB/ …
Spatial поддерживает загружаемые форматы для 3D: GLB (рекомендуемый), glTF, FBX,OBJ, DAE, PCD. Roblox: FBX – для одежды, FBX, OBJ, rbxm – для жестких аксессуаров, импортируемых в Roblox Studio. Decentraland: glTF. Lens Studio: FBX и OBJ.
Нужно ли дополнительно делать лоды
Лоды, производное от LOD (Level of detail) – упрощенные модели того же объекта разной степени детализации, которые подгружаются на расстоянии.
Какой движок используется в проекте
Пригодится, чтобы предварительно протестировать, натянуть текстуры, проверить анимацию. Источники освещения и физическое небо очень влияют на восприятие текстур на объекте, поэтому здесь лучше не лениться.