
Make games that matter
Physics solutions help you give weight to the elements of your game. Whether you’re building in 2D or 3D, a first-person camera or a side-scroller, your characters and objects can react realistically to the game world around them.
Unity Physics и Havok Physics созданы на основе стека информационно-ориентированных технологий. Системы взаимозаменяемы и могут работать в проекте одновременно. Они совместимы по формату данных и позволяют использовать мощные инструменты и рабочие процессы Unity.
.png?itok=uQ3g5btL)
Unity Physics
Быстро. Экономично. Без кэширования. Гибко. Именно эти слова и являются девизом нашего нового решения Unity Physics.
Созданная на основе платформы Unity система DOTS готова для работы в сети, полностью настраивается и обеспечивает высокую производительность даже при стандартной реализации. От мобильных хитов до многопользовательских консольных игр, Unity Physics, использующая преимущества компилятора Burst и новой системы задач, масштабируется в соответствии с любыми ограничениями аппаратных систем.
Система Unity Physics еще находится в статусе предварительной версии, доступна в менеджере пакетов и совместима с Unity 2019.1 и более поздними выпусками.
.png?itok=T2Ob4nTI)
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
If you’re working on an object-oriented project, there are two built-in physics engines to consider that cover both 3D and 2D game development.

Built-in 3D physics: NVIDIA PhysX integration
Unity’s built-in 3D physics engine is an integration of the PhysX engine in close partnership with NVIDIA. PhysX is available directly through the Editor.
NVIDIA PhysX SDK is an open source, scalable real-time physics engine that enables advanced simulations for more immersive game play with true-to-life simulations and real-time dynamic effects. PhysX is a library for representing 3D worlds that lets you create and destroy actors and tracks their explicit or proximity-based interactions.
PhysX SDK’s dynamics simulation capability includes support for collision, joints, and actuation using maximal and/or reduced coordinates. You can also query the world using a number of different tools, ranging from simple ray casts to sweep and overlap tests.

Built-in physics for 2D games
Unity comes with dedicated and optimized 2D physics, with many more features and optimizations to power your game.
2D Colliders enable accurate detection of your sprites’ shapes, from primitive to custom shapes. If they also include a Rigidbody 2D, the objects will react to gravity and behave as solid objects.
Objects anchored to another object also can benefit from physics with 2D Joints, adding realism to a sliding platform, chain, spring, or car. To simulate buoyancy or magnets, 2D Effectors can add non-contact physics effects.
Ресурсы
Анонс Unity и Havok Physics для DOTS
Мы объединили усилия с Havok и создали физическую систему нового поколения для Unity. Узнайте о подробностях и промежуточных результатах нашего сотрудничества.
Рори Маллэйн из Havok рассказывает о Physics на GDC
Узнайте о пути развития физического движка для блокбастеров от C++ к языку C# и стека информационно-ориентированных технологий (DOTS). Познакомьтесь с архитектурой и функциями Unity Physics, взгляните на систему в действии и узнайте о способах одновременного использования Unity Physics и Havok Physics для максимальной динамичности игр.
Принимайте участие в обсуждениях
Опишите ваши требования, оставьте отзыв и примите участие в обсуждениях о том, что интересно разработчикам с точки зрения физики в играх. Оставляйте сообщения на форуме обо всех проблемах с новой физической системой на основе DOTS.
The Unity and Havok partnership
Havok and Unity sat down for an interview to share how we partnered to create Havok Physics for Unity on top of Unity’s ECS framework.
Детерминизм — это идентичность результата физической симуляции при одинаковых исходных данных. И 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. Уже созданный контент не пострадает, но, возможно, что при переходе на новый движок контент придется немного доработать.