Две физические системы, один протокол данных
Решение Physics состоит из двух систем: Unity Physics и Havok Physics. Обе работают на платформе DOTS, поэтому они используют один и тот же протокол данных.
Это позволяет без проблем заменять одну физическую систему на другую без необходимости перерабатывать контент или код игры.
Независимо от используемой системы, будь то Unity Physics, Havok Physics, или обе одновременно, универсальный протокол данных позволяет использовать разработанный контент для моделирования на любой системе, поддерживающей DOTS.
За кулисами: партнерство Unity и Havok
В сотрудничестве с Havok мы разработали новый физический движок на основе DOTS.
Шон Маккелланд (менеджер по продуктам Unity) и Джоэл Ван Эенвик (инженер по прикладному использованию решений Havok) расскажут, как мы сотрудничали при разработке систем поверх платформы DOTS, которые позволяют создавать физические симуляции с непревзойденной производительностью и совместимостью с современными сетями.
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 и Havok Physics для DOTS
Мы объединили усилия с Havok и создали физическую систему нового поколения для Unity. Узнайте о подробностях и промежуточных результатах нашего сотрудничества.
Анонс Unity и Havok Physics для DOTS | программный доклад Unity на GDC 2019
На GDC 2019 мы объявили о партнерстве с Havok в разработке полноценного физического решения для DOTS-проектов в Unity. Смотрите запись презентации решений от Йоакима Анте (главный технический директор и основатель Unity) и Оливера Странка (Havok).
Рори Маллэйн из Havok рассказывает о Physics на GDC
Узнайте о пути развития физического движка для блокбастеров от C++ к языку C# и стека информационно-ориентированных технологий (DOTS). Познакомьтесь с архитектурой и функциями Unity Physics, взгляните на систему в действии и узнайте о способах одновременного использования Unity Physics и Havok Physics для максимальной динамичности игр.
Принимайте участие в обсуждениях
Опишите ваши требования, оставьте отзыв и примите участие в обсуждениях о том, что интересно разработчикам с точки зрения физики в играх. Оставляйте сообщения на форуме обо всех проблемах с новой физической системой на основе DOTS.
Детерминизм — это идентичность результата физической симуляции при одинаковых исходных данных. И Unity Physics, и Havok Physics дают детерминированные результаты. Тем не менее, различия в архитектурах CPU (x86, ARM и т. д.) приводят к незначительным различиям в математических вычислениях, поэтому детерминизм результатов будет зависеть от особенностей аппаратной платформы.
Анонсированная на этот год новая версия компилятора Burst призвана избавиться от различий результатов вычислений на различных архитектурах. Unity Physics автоматически будет использовать это преимущество, что обеспечит детерминизм вычислений на всех устройствах.
Примечание: для обеспечения детерминизма в пределах архитектуры системе Unity Physics потребуется обновление компилятора Burst, которое будет выпущено позже.
Большинство физических движков, включая Havok, обеспечивают производительность и стабильность благодаря интеллектуальной оптимизации, например, частичного кэширования состояния мира для обхода или стабилизации различных вычислений. Производительность физических систем без кэширования же достигается с помощью оптимизации грубой силой. В силу этого, а также того, что грядущие версии Burst будут способны работать на нескольких архитектурах, такой подход будет лучше для различных сетевых вариантов применения. С другой стороны, в некоторых случаях Havok способен достигать лучшей производительности и стабильности.
Поскольку с будущими версиями компилятора Burst физическая система без кэширования будет давать детерминированные результаты на разных архитектурах процессоров, она будет готова для использования в различных сетевых сценариях, включая прогнозирование на стороне клиента (например, в шутерах от первого лица), алгоритмы Lock-step (например, в стратегиях реального времени), а также GGPO/rollback (например, в файтингах).
Движок Havok Physics кэширует информацию о различных состояниях для интеллектуальной оптимизации, и поэтому он может обеспечивать непревзойденную производительность в масштабных играх или в играх со сложными физическими моделями. Кроме того, Havok Physics стабильнее обрабатывает взаимопроникающие объекты и наложенные друг на друга тела. Также на нем улучшается поведение объектов благодаря продвинутой модели трения, требующей кэширования.
И Havok Physics, и Unity Physics используют одну и ту же модель данных в редакторе Unity. Вы можете разрабатывать контент под какую-то одну физическую систему, а потом с легкостью заменить на другую или включить обе, в зависимости от потребностей вашей игры или части вашего игрового мира.
Нет. Havok Physics и Unity Physics — это дополнительные пакеты, основанные на DOTS. Уже созданный контент не пострадает, но, возможно, что при переходе на новый движок контент придется немного доработать.