Unity и Havok Physics для проектов на основе DOTS

Создавайте богатые, интерактивные и динамичные миры с в Unity поддержкой стека информационно-ориентированных технологий на языке C#.

Две физические системы, один протокол данных

Решение Physics состоит из двух систем: Unity Physics и Havok Physics. Обе работают на платформе DOTS, поэтому они используют один и тот же протокол данных.

Это позволяет без проблем заменять одну физическую систему на другую без необходимости перерабатывать контент или код игры.

Независимо от используемой системы, будь то Unity Physics, Havok Physics, или обе одновременно, универсальный протокол данных позволяет использовать разработанный контент для моделирования на любой системе, поддерживающей DOTS.

За кулисами: партнерство Unity и Havok

В сотрудничестве с Havok мы разработали новый физический движок на основе DOTS.

Шон Маккелланд (менеджер по продуктам Unity) и Джоэл Ван Эенвик (инженер по прикладному использованию решений Havok) расскажут, как мы сотрудничали при разработке систем поверх платформы DOTS, которые позволяют создавать физические симуляции с непревзойденной производительностью и совместимостью с современными сетями.

Unity Physics и Havok Physics

Unity Physics и Havok Physics созданы на основе стека информационно-ориентированных технологий. Системы взаимозаменяемы и могут работать в проекте одновременно. Они совместимы по формату данных и позволяют использовать мощные инструменты и рабочие процессы Unity.

Unity Physics

Быстро. Экономично. Без кэширования. Гибко. Именно эти слова и являются девизом нашего нового решения Unity Physics.

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

Система Unity Physics еще находится в статусе предварительной версии, доступна в менеджере пакетов и совместима с Unity 2019.1 и более поздними выпусками.

Havok Physics

Havok Physics
Havok Physics представляет высокопроизводительное решение для клиентов, которым необходимы сложные физические вычисления. В основе решения используется ведущий в отрасли физический движок Havok Physics, работающий более чем в половине игр для нынешнего поколения консолей. Оно построено на основе платформы DOTS C#, как и Unity Physics, но обеспечивает функциональность, производительность, стабильность и надежность закрытого проприетарного движка Havok Physics, написанного на нативном C++.

Смотрите документацию по использованию Havok Physics.

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

См. видео Havok Physics Unity integration : Performance — YouTube 

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

Смотрите Stacking Stability — YouTube и Mesh Welding — YouTube

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

Что такое «детерминизм результатов»?

Детерминизм — это идентичность результата физической симуляции при одинаковых исходных данных. И Unity Physics, и Havok Physics дают детерминированные результаты. Тем не менее, различия в архитектурах CPU (x86, ARM и т. д.) приводят к незначительным различиям в математических вычислениях, поэтому детерминизм результатов будет зависеть от особенностей аппаратной платформы.

Анонсированная на этот год новая версия компилятора Burst призвана избавиться от различий результатов вычислений на различных архитектурах. Unity Physics автоматически будет использовать это преимущество, что обеспечит детерминизм вычислений на всех устройствах.

Примечание: для обеспечения детерминизма в пределах архитектуры системе Unity Physics потребуется обновление компилятора Burst, которое будет выпущено позже.

Что такое «физическая система без кэширования»?

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

Как физика без кэширования влияет на сетевые игры?

Поскольку с будущими версиями компилятора Burst физическая система без кэширования будет давать детерминированные результаты на разных архитектурах процессоров, она будет готова для использования в различных сетевых сценариях, включая прогнозирование на стороне клиента (например, в шутерах от первого лица), алгоритмы Lock-step (например, в стратегиях реального времени), а также GGPO/rollback (например, в файтингах).

Чем полезен Havok для моих игр?

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

Можно ли добавить движок Havok Physics в уже разработанные мной игры? Если можно, то насколько это сложно?

И Havok Physics, и Unity Physics используют одну и ту же модель данных в редакторе Unity. Вы можете разрабатывать контент под какую-то одну физическую систему, а потом с легкостью заменить на другую или включить обе, в зависимости от потребностей вашей игры или части вашего игрового мира.

Нарушит ли новая система работоспособность уже созданного контента и не усложнит ли она разработку контента в будущем?

Нет. Havok Physics и Unity Physics — это дополнительные пакеты, основанные на DOTS. Уже созданный контент не пострадает, но, возможно, что при переходе на новый движок контент придется немного доработать.

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

Согласен