Доступен свежий выпуск журнала Jump Point (Март 2022)

(Раздел — Трансляции) // Главное // Jump Point Now Available!


Пост на RSI от 25.03.2022 года.


Мартовский выпуск Jump Point доступен подписчикам.

В этом месяце:
— заправка кораблей;
— реки на планетах;
— Galactapedia: Triggerfish;
— Portfolio: Clark Defence Systems (CDS).

Открыть и скачать оригинальную английскую версию журнала можно здесь (в формате PDF).

 


Создание рек 

Начиная с Star Citizen Alpha 3.17 у игроков появится возможность исследовать совершенно новую систему игры — реки. Когда Star Citizen обретала целые миры для исследования, технологии были поразительными. Но изначально начала команда знала, что первую итерацию планет нужно будет дополнить ключевыми подсистемами, чтобы создать все больше и больше деталей, необходимых для того, чтобы сделать планеты по-настоящему реальными. От пещер до растительности и рек, каждые из которых были разработаны с прицелом на то, чтобы продолжать опираться на высокий уровень детализации Star Citizen. Чтобы узнать больше о новой речной системе, которая в настоящее время находится в стадии тестирования Evocati на момент написания статьи, мы поговорили с человеком, который ее реализовал, программистом Уиллом Хейном (Will Hain).

Jump Point (JP): Пожалуйста, сообщите нам свое имя, должность и то, над чем вы работаете в Star Citizen.

Will Hain (WH): Меня зовут Уилл Хейн, я программист движка III, я работал над несколькими вещами для Star Citizen:
• я создал систему модификации местности;
• я работаю над системой рассеяния объектов планеты (листва, геология и т.д.);
• я работал над многими мелочами, такими как плавающие водоросли и эффекты мокрых краев;
• я создал нашу процедурную речную технологию.

JP: Зачем сейчас добавлять реки?

WH: Я работаю над реками время от времени с сентября 2020 года. Сейчас мы наконец-то выпустили первую фазу, потому что после нескольких периодов работы над ней (прерываясь для других вещей) мы наконец достигли результата. Это означает, что в дополнение к основе технологии было внесено больше сопутствующих изменений, чтобы правильно интегрировать ее в наш игровой движок. Это включает в себя звук, материалы, удаленные LOD, взаимодействие с игроком, взаимодействие с транспортным средством и более подходящее рассеивание, а также множество улучшений производительности и оптимизации.

JP: Как вы реализуете это новое дополнение к планетам Star Citizen? Какова цель дизайна высокого уровня для рек, и как вы этого достигли?

WH: Реализация рек — это то, о чем я упоминал в своем первоначальном интервью в феврале 2020 года. Я был очень рад работать над этим, потому что в своем собственном диссертационном проекте я сосредоточился на реках и над процедурными планетами, но не до такой степени, чтобы это было реализовано в Star Citizen. С точки зрения высокого уровня цель состояла в том, чтобы иметь возможность разместить точку родника в любом месте и проследить путь воды оттуда. Я провел эксперимент с размещением эстуария и определением того, откуда должна была взяться вода, чтобы сформироваться, но в конечном итоге это не сработало, и я получил лучшие результаты, сделав всё наоборот. Дизайн был итеративным, но с самого начала был разработан высокоуровневый дизайн четырех классов: инструмент размещения рек, вычислитель рек, менеджер данных рек и популяция рек, а также различные модификаторы ландшафта, классы хранения и вспомогательные классы. У каждого из них есть очень конкретная цель, от обработки входных данных от художников до сериализации данных о реке. Из четырех основных классов только River Data Manager и River Populator используются во время выполнения, а инструмент размещения и вычислитель остаются доступными для редактирования.

JP: Как вы подходите к разработке такого сложного дополнения к уже исполняемой игре?

WH: Когда я присоединился к работе, наша планета не допускала каких-либо локальных модификаций.

Это связано с тем, что меши с высоким разрешением размеров с планету практически невозможно сохранить, поэтому нам приходится генерировать высоту нашей планеты и данные меша на лету из набора 16 карт высот, карты распределения и некоторых случайных смещений. Это означает, что мы нигде не храним данные о местоположении — все глобально и объединено, чтобы создать одну и ту же планету на всех машинах. Мы хотели представить решение этой проблемы в виде системы модификации местности. Закончив работу над этим, я смог начать работу над реками, которые принципиально зависят от способности деформировать местность. С точки зрения подхода, поэтапный, итеративный подход — это лучший способ: во-первых, я работал над путями эрозии и базовым инструментом размещения, вообще не изменяя ландшафт. Затем я создал базовый модификатор ландшафта, чтобы сформировать желоб, и разместил его вдоль русла реки. Оттуда многие итерации произвели то, что мы видим сегодня. При работе над сложным проектом важно помнить о движке в целом и о том, как лучше всего использовать уже существующие технологии. Например, BiomeBuilder отвечает за распределение ресурсов и уже обрабатывает сложный процесс появления и исчезновения объектов по мере того, как потоковые пузыри/игроки приближаются или удаляются. Таким образом, использование BiomeBuilder, чтобы сделать то же самое для мешей речной воды, имело смысл, а не заново изобретать колесо, чтобы определить, когда речные меши должны быть созданы/уничтожены. Есть много примеров этого в технологиях рек.

JP: Были ли задействованы другие дисциплины в создании рек? Требовалось ли для этого обновление создания дополнительных изображений, аудио и т.д.?

WH: Одна из самых больших ошибок, которую я совершил при создании речных технологий, заключалась в том, что я не использовал другие технологии раньше. Люди знали об этом, но до недавнего времени не было никаких скоординированных усилий, чтобы модифицировать другие технологии совместимыми с ними. Сейчас появились другие дисциплины (например, реализация звука), но уже после результата работы. Я лично отвечал за то, чтобы гравитационная пушка работала над водой, за то, чтобы корабли правильно парировали, когда они шли под рекой или над ней, за то, чтобы персонаж знал, что он под водой. Я отвечал за дыхание/кислородный баллон. Тем не менее, я надеюсь, что команда по персонажам и VFX-эффекты сможет найти время для более конкретной работы с реками, так как это будет иметь огромное значение, когда у нас появятся анимации брызг, тумана и перехода вброд или плавание.

JP: На данный момент мы понимаем задачи для космических кораблей, например, какие системы должны работать вместе, чтобы данный корабль работал рядом с реками… но каковы определяющие факторы реки? Нужно ли учитывать течение, берега, объем воды?

WH: При расчете пути реки наиболее важными частями являются объем, скорость и направление. Система направлена ​​на то, чтобы найти путь воды по существующему ландшафту, а не полную гидравлическую эрозию, которая создала бы ландшафт. Наши плитки карты высот уже получили автономную гидравлическую эрозию, поэтому мы хотим избежать отмены этой работы с реками — в конечном итоге модификация ландшафта никогда не будет выглядеть так же хорошо, как карты высот, созданные вручную, поэтому мы хотим максимально сохранить их. В большинстве случаев система подачи воды заканчивается при поиске водных путей, возникших в результате моделирования, на картах высот, а затем анализе того, как вода проходит от одной карты высот к другой на реальной поверхности планеты. Хотя в картах высот нет никаких данных о типах отложений и т.д., я бы хотел, чтобы на реки влияло продвижение вперед. Различные типы отложений и горных пород могут влиять на соотношение между глубиной, шириной и скоростью в реке, что создает больше вариаций наряду с водопадами и ущельями. По большей части соотношение глубины:ширины:скорости фиксировано в текущей реализации, но нет никаких причин, по которым это не могло бы измениться в будущем, и это определенно то, что я хотел бы исследовать в будущем.

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

WH: С точки зрения прототипирования, в гибкой разработке мы всегда пробуем разные вещи, чтобы увидеть, работают ли они. Это один из моих любимых способов работы — быстрое прототипирование и тестирование. Что касается проверенных идей, которые не вошли в этот релиз, мы рассмотрели запись непосредственно в наших климатических данных для реки, изменение типа земли в шейдере планеты, гораздо большую зависимость от декалей для окрашивания краев реки, и обратная эрозия вверх от желаемого конца вместо нисходящего потока. Некоторые из них могут быть пересмотрены в будущем, а некоторые никогда не будут пересмотрены. Многие из законченных функций начинались как исследование «работает ли это» и «даёт ли это хорошие результаты» и т.д. Например, точки появления начинались как послеобеденная попытка увеличить плотность вокруг реки. Затем значения были переписаны, чтобы стать постоянным дополнением к речной технологии.

JP: Было ли что-то, что вам нужно было вырезать, что вы хотели бы включить в новую версию?

WH: Я действительно хотел получить физические области и поток для Альфы 3.17. Эти функции означали бы, что физические вещи смогли бы плавать и течь по реке. Я надеюсь, что это сделаем в альфа 3.18, так как это действительно оживит возможности игрового процесса вокруг реки. Это не моя зона ответственности, но я также хотел бы, чтобы мы плавали или ходили в брод. Однако текущая работа команды по персонажам гораздо важнее, чем работа с рекой, поэтому я с нетерпением жду, когда они освободятся.

JP: Есть ли в готовой системе что-то, чем вы особенно гордитесь?

WH: Я горжусь всей своей работой над текущей системой, но если бы мне пришлось выбрать что-то, чем я больше всего доволен, это было бы создание водяной сетки. Она достигает чего-то предельно простого, но я очень доволен тем, как она реализована, и результатами, которые она дает. Я также очень доволен своей работой над BiomeBuilder, которая в конечном итоге влияет на общий вид и производительность рек. Наиболее сложной математикой является модификатор ландшафта речного сплайна — он использует перпендикулярное расстояние к кривой Безье, чтобы передать параметрическое квадратное уравнение для формирования впадины реки. Вероятно, это была часть, которую я тестировал больше всего.

JP: Есть ли планы продолжить работу над реками?

WH: Это ни в коем случае не окончательная форма рек. Помимо улучшения инструмента размещения, позволяющего автоматически распределять реки по планетам, я хочу больше функций, таких как цепные бассейны/озера, учет берегов, водопады, разветвления/соединения, визуальные эффекты, более сложный звук, лучший шейдер воды, поддержку разных жидкостей и т.д. Список можно продолжать и продолжать!

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

WH: Мои следующие задачи в основном сосредоточены на расширении нашей речной технологии, но в планах множество интересных вещей. Я говорил о новом шейдере листвы в своей презентации на CitCon — он все еще находится в разработке и поможет сделать наши планеты полностью сезонными в зависимости от климата. Мы также хотим улучшить физическую точность рассеяния на наших планетах, чтобы создавать более разнообразные биомы и локации.

JP: Есть ли у вас какие-либо сообщения для игроков, которые собираются изучить вашу работу? На момент написания этой статьи мы слышали, что Evocati уже делятся результатами тестирования рек!

WH: У меня есть послание людям, которые собираются впервые увидеть реки. Я надеюсь, что вам понравится увиденное, а также результаты исследований! Не забудьте надеть шлем, если собираетесь заниматься дайвингом, а самый быстрый способ добраться от одного конца реки до другого — это гравитационный мотоцикл. Я лично хотел бы увидеть самое быстрое время прохождения участка реки, все 12 км!

 


Если интересует официальная платная подписка RSI, подробнее о ней читайте на русском здесь.


Оригинальный пост на RSI здесь


// Конец трансляции

5
1
vote
Рейтинг статьи
0 комментариев
Inline Feedbacks
View all comments