Переделывать каждый* корабль в EVE — напряжённый процесс, заставляющий выкладываться на полную всю команду создания дизайна: авторов концепции, художников с программистами и отдел тестирования. Он требует серьёзного уровня координации и распределения ресурсов, не говоря уже о том, что выпускать в свет можно только полностью законченную работу (чтобы в клиент случайно не попали незавершённые объекты без необходимых текстур или шейдеров). В целом, переделывать каждый корабль - это творческий ад.
За последние полгода нам пришлось пройти через это дважды.
Первоначальная задумка PBR, известного как V5, позволила нам сделать объекты в игре реалистичнее, отказавшись от модели отражений Фонга. Подробнее вы можете прочитать в этой статье разработчика. V5 явился большим шагом в сторону более впечатляющего визуального ряда, но фактический внешний вид кораблей оставлял желать много лучшего. Были утеряны некоторые детали, часть цветов выглядела хуже среднего, а разница между отражающими и не отражающими поверхностями некоторых кораблей выглядела нереалистично. Выявив эти недостатки в декабре, мы сразу начали искать пути их исправления и повышения качества картинки.
Результат наших исследований — “V5++”, полная переделка текстурных карт всех кораблей, и их упаковка в новую систему, способную работать с новыми шейдерами.
Новые текстурные карты
Наш первый запуск PBR в прошлом году добавил к нашей системе два новых типа текстур — Albedo (Альбедо), заменяющие карты рассеивания, и Roughness (шероховатость поверхности) на замену картам отражений. В системе V5++ у всех кораблей есть две новых текстурных карты. Материал теперь отображается сам по себе (ранее он был представлен двумя отдельными картами). Использование ограниченной палитры оттенков серого позволило нам расширить набор доступных каждому кораблю материалов. Плюсы этого мы обсудим позже.
Абсолютная новинка — карта эффектов загрязнения. Она позволит нам отображать широкий спектр ржавчины и космической грязи, которая будет накапливаться в соответствии с изучаемыми нами параметрами. В соответствии с задумкой эта карта немного разнообразит безупречно чистые корабли EVE Online и сделает их интереснее.
В дополнение к этому, каждый корабль теперь обладает своей картой окклюзии, которой раньше снабжались исключительно КБТ. Она повышает реалистичность отражений на всех кораблях, уменьшая блеск, если поверхность окружена матовым материалом. Мы по–прежнему используем этот эффект, но сделали его намного реалистичнее.
Новые материалы
Ранее карты p1 и p2 независимо отвечали за разделение материалов на поверхности корабля. При выпуске PBR мы оставили эту систему, но в V5++ объединили их в карту материалов, о которой упоминалось выше. Вся информация о материалах теперь хранится в этой карте в четырёх тонах серого.
Но это ещё не всё! Упомянутое изменение очень похоже на мощное чистящее средство с доставкой на дом — оно тоже даёт нам контроль над ржавчиной. Лучший из найденных нами способов отображения ржавчины — использовать два отдельных материала. В предыдущей системе с тремя материалами это было слишком сложно, мы не хотели ограничиваться двумя материалами и одним оттенком. Система V5++ позволяет использование четвёртого материала. При помощи новых инструментов мы сможем сохранить тройку главных материалов и получить притом более достоверную матарскую ржавчину. Амаррские, калдарские и галлентские вместо ржавчины получат улучшенные металлические поверхности и декоративные зоны.
Новая система упаковки текстур
Пять лет назад, в этой древней статье разработчика (англ.), CCP Salvo рассказывал, как EVE перешла с доисторической файловой системы типа NGS на новую систему, названную PGS. В конце предыдущего года этот устаревший формат был заменён на модель PBR, но в целом система упаковки текстур осталась такой же. Добавление новых карт, комбинирование старых, и технические сложности, связанные с отображением работ наших дизайнеров, привели к необходимости создать новую систему упаковки текстур, чтобы наша работа увидела свет.
Мы переместили карты альбедо, обрабатывающие группированную информацию для получения конечной цветовой схемы корабля, на R-, G- и B-каналы текстуры, которую назвали _AR. Альфа–канал занят картой шероховатости, как можно понять из названия текстуры.
Карты нормалей, X и Y для большей точности используют высококачественные каналы альфа и G-канал второй текстуры. Карта окклюзии занимает B-канал и создаёт текстуру _NO. R-канал остаётся свободен, но CCP Salvo всегда рад найти новые пути позлить CCP Mankiller, так что кто знает, что нас ждёт в будущем?
Карты материала и отблесков, которые тоже используютпреимущества улучшенного качества, занимают альфа-канал и G-канал третьей текстуры, а карты покраски и грязи находятся на R- и B-каналах. Итоговая текстура, соответственно, называется _PMDG.
Новые шейдеры
Те, кто помнит переход на PGS, могут вспомнить, что он был вызван открывшимися широкими возможностями для применения шейдеров, состоящих из трёх материалов, одновременно уменьшающих размер клиента игры и увеличивающих качество графики. В новой системе V5++, информация о дополнительном материале потребовала использования шейдеров, состоящих из четырёх материалов.
Основные уравнения просчёта света остались такими же, как были в V5, основные изменения состоят в обсчёте грязи. В системе V5 количество грязи высчитывалось адской матемагией, что усложняло художникам работу. В V5++ мы просто добавили карту грязи, над которой художник имеет полный контроль.
Это позволит нам изменять количество грязи на кораблях в сцене. В проекте в его продемонстрированном виде количество грязи и ржавчины было статичным. Посетители «Фанфеста–2015» (или те, кто видел соответствующую презентацию, посвящённую дизайну и графике) вспомнят демонстрацию загрязнения кораблей и поток последовавших вопросов. Мы всё ещё рассматриваем некоторые особенности, например, количество грязи, зависящее от возраста корабля или способа его использования. Также мы играем с концепцией сервисов «космомойки», убирающих грязь с кораблей. Разумеется, никто не собирается чистить матарские корабли, потому что содержание грязи в них не меньше 51%, и они наверняка не переживут мойку.
В чём смысл?
Чтобы убедиться, что всё сделано правильно, проекту пришлось уделить особое внимание. Художники подкорректировали, перерисовали или перекрасили каждую карту. Технические художники предоставили инструментарий, чтобы упаковать и включить в игру файлы .dds для каждого корабля.
Программисты добавили новые шейдеры для новой информации. Тестовая группа взяла на себя сизифов труд по просмотру каждого корабля и поиску недостатоков и потенциальных улучшений. Пришлось много поработать, но и результат работы получился не менее впечатляющим. V5++ даёт нам лучший контроль материала, более точные текстуры, реалистичное поведение отражений и улучшенную передачу цветов, при этом позволяет вписаться в рамки требуемой производительности.
Мы твёрдо уверены, что капсулёры Нового Эдема насладятся полётами среди звёзд в новых V5++ корабля. Мнение сообщества EVE Online — настоящая проверка. Мы ждём ваших комментариев, отзывов и вопросов на наших форумах, и с радостью отреагируем на ошибки, отправленные с помощью инструмента создания отчётов об ошибках.
Но перед штурмом форума, зайдите на тест–сервер «Сингьюлэрити» и покрутите ваш любимый корабль. А ещё лучше — слетайте и исследуйте границы вашей планетарной системы. Процитирую моего кумира, которая тоже не чужда искусству магии:
«Летите, милые, летите!»
CCP Antiquarian