Корабельная верфь: массы кораблей

Корабельная верфь: массы кораблей

Корабельная верфь: массы кораблей

Корабельная верфь

Массы кораблей: Я не тяжелый, я просто так построен

Руководство к новой матрице кораблей

Shipyard.png

Приветствуем, Граждане!

С релизом 3.0.0 мы завершили начальный этап определения масс для всех внутриигровых предметов: от маленьких элементов личного бронекостюма до огромных космических кораблей. Мы всегда стремились опираться на характеристики реальных объектов при определении масс в игре, но со временем такой подход начал создавать проблемы, поскольку мнения разных людей насчет того, сколько должен весить тот или иной предмет, существенно расходились. Данный феномен особенно выделялся при анонсах концептов кораблей, когда мы впервые устанавливали их массу. Одной важной составляющей в процессе определения масс было мнение, что космические корабли должны быть схожи по своей роли с современными самолетами, так что изначально мы стремились присваивать им схожие значения масс. Конечно, если посмотреть под другим углом, применение такого подхода привело к возникновению множества серьезных проблем. Например, Gladius – это легкий истребитель, и по своим размерам и массе он во многом схож с современными реактивными истребителями, вроде F/A-18 Hornet (речь тут не об Anvil Hornet). Но когда мы углубились в детали, оказалось, что в реальности Gladius занимал почти что в пять раз больший объем, чем F-18. Это вызвало проблемы, поскольку изначальная масса реализованного в игре корабля составляла порядка 140% от массы F-18. Детальнее разбирая все большее число кораблей, мы окончательно убедились, что наши оригинальные значения масс оказались крайне несостоятельными и зачастую сбивали с толку. Поскольку массы являются одним из ключевых элементов внутриигровой симуляции, мы решили полностью переработать данный аспект.

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

Осознать концепт

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

Gladius_concept_mesh.jpg  Drake_caterpillar_interior.jpg

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

Моя плотность привела меня к тебе

После того, как мы определили объем корабля, как будто бы он был сделан из цельного куска материала, мы вычитаем намеченный командой дизайнеров объем для интерьера, кабины и внутренней локальной сетки поверхности. Новому полученному объему (полный минус интерьер) назначается соответствующее значение плотности с учетом нескольких модификаторов:

1) Методология производства

Origin при производстве своих кораблей использует более передовые облегченные материалы, которые при этом сохраняют прочность. Тогда как традиционные крупные производители, вроде Aegis и Anvil, применяют более тяжелые металлы. Используемые материалы – это ключевой компонент для доступа к точным значениям массы машины, корабля или станции.

Origin_600i_interior_concept.jpg

2) Виды производства

Корабли Xi’an известны своими материалами, которые намного легче их человеческих аналогов. При этом сотрудничество с MISC в некоторой степени позволило использовать перекрестные технологии. При определении материалов, из которых изготавливаются корабли, дизайнеры будут работать совместно с писателями, чтобы учесть не только эстетику каждой расы, вроде Banu или Vanduul, но и то, какие ресурсы находятся в их распоряжении, и какими технологическими преимуществами обладает их культура.

Nox_ingame_proxy_mesh_debug.jpg

3) Роль дизайна

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

Gladius_ingame_proxy_mesh_debug.jpg

4) Считается то, что внутри

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

Retaliator_proxy_mesh_debug.jpg  Retaliator_interior_geometry.jpg  Retaliator_local_physics_grid_mesh.jpg

5) Лишь то, что берешь с собой

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

Example_of_ship_mass_calculations.jpg

Что это значит? Все наши корабли и персонажи теперь ведут себя гораздо лучше, поскольку используемые в игре величины гораздо лучше синхронизированы. Вот один пример, который мы обнаружили в процессе этой переработки. На многих кораблях физические сетки были не закрыты, поэтому после придания им массы движок начинал некорректно рассчитывать массу отделяемых от корабля частей. Из-за этого обломки вели себя неадекватно. Сейчас все части корабля либо уже "запечатаны", либо проходят этот процесс. В результате разрушение корабля и отделение от него элементов выглядит более достоверно, а вращающихся на безумных скоростях крупных обломков стало меньше. Помимо улучшения поведения это изменение позволяет учитывать множество общесистемных особенностей, вроде перевозимых предметов и грузов. Ранее, когда наши корабли так сильно различались по весу, даже простое добавление более тяжелого оружия могло ненароком существенно изменить их поведение.

Часто задаваемые вопросы

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

  • Если масса предметов на моем корабле изменится (умышленно или в результате столкновения), повлияет ли это на поведение корабля?

Да, но не прямо в Альфе 3.0.

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

  • Какие еще аспекты массы, помимо кораблей, были изменены?

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

Перевод: H_Rush

Оригинал

Admin administrator