
Создавайте впечатляющие игры
Решения для физики помогают сделать игру более увлекательной. Не важно, создаете вы игру в 2D или 3D, с камерой от первого лица или видом сбоку, — ваши персонажи и предметы будут реагировать реалистично на окружающий игровой мир.
Решение Unity для проектов на базе Entity-Component-System (ECS) состоит из двух систем: Unity Physics и Havok Physics для Unity. Обе работают на фреймворке Unity ECS, поэтому они используют один и тот же протокол данных.
Это позволяет без проблем заменять одну физическую систему на другую без необходимости перерабатывать контент или код игры. Независимо от используемой системы, будь то Unity Physics или Havok Physics, универсальный протокол данных позволяет использовать разработанный контент для моделирования на любом физическом движке с поддержкой ECS.

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

Havok Physics для Unity
Havok Physics для Unity предоставляет улучшенные возможности моделирования физики и удобную интеграцию с проектами на базе ECS. Тогда как решение Unity Physics оптимизировано для большинства случаев использования RT3D, решение Havok Physics для Unity может улучшить стабильность и производительность физики в больших открытых мирах или сценах с огромным количеством твердых тел. Бэкенд Havok Physics для симуляции в Unity можно в любое время заменить на бэкенд Unity Physics, не меняя существующие ассеты или код физики.
Havok Physics для Unity будет доступен в технической версии Unity 2022.2.
Если вы работаете над объектно-ориентированным проектом, можете выбрать один из двух физических движков, которые подходят для разработки 3D- и 2D-игр.

Встроенная физика для 3D-игр: интеграция NVIDIA PhysX
Встроенный движок физики для 3D-игр в Unity представляет собой интеграцию движка PhysX, которая была разработана в тесном сотрудничестве с NVIDIA. Движок PhysX доступен прямо в редакторе.
NVIDIA PhysX SDK — это масштабируемый физический движок реального времени с открытым исходным кодом, который обеспечивает сложные симуляции для более иммерсивной игры с реалистичным моделирование и динамическими эффектами в реальном времени. PhysX — это библиотека представления 3D-миров, которая позволяет создавать и разрушать объекты, и отслеживает их прямые или непрямые взаимодействия.
Среди прочего, PhysX SDK поддерживает такие возможности моделирования динамики, как столкновения, сочленения и приведение в действие с помощью максимальных и/или обобщенных координат. Вы также можете опрашивать мир, используя различные инструменты, например проверки raycast, sweep и overlap.

Встроенная физика для 2D-игр
Unity поставляется с физическим движком для 2D-игр с большим количеством функций и оптимизаций для вашей игры.
2D-коллайдеры позволяют точно определять как примитивную, так и пользовательскую форму спрайтов. Если к объектам также добавить компонент Rigidbody 2D, они будут реагировать на гравитацию и вести себя как твердые тела.
Вы также можете воспользоваться преимуществами физики для тех объектов, которые прикреплены к другим: добавьте компонент 2D Joints, чтобы создать реалистичную движущуюся платформу, цепь, пружину или автомобиль. Чтобы смоделировать плавучесть или магнетизм, можно добавить бесконтактные физические эффекты с помощью компонента 2D Effectors.
Ресурсы
Примеры физики в DOTS
В помощь вам мы подготовили репозиторий примеров использования возможностей Physics в DOTS. Примеры Unity Physics включены в число примеров ECS на GitHub.
Havok на GDC
Ознакомьтесь с архитектурой и функциями Unity Physics, взгляните на систему в действии и узнайте о способах одновременного использования Unity Physics и Havok Physics для максимальной динамичности игр.
Принимайте участие в обсуждениях
Опишите ваши требования, оставьте отзыв и примите участие в обсуждениях о том, что интересно разработчикам с точки зрения физики в играх. Оставляйте сообщения на форуме обо всех проблемах с новыми физическими системами на основе ECS.
Партнерство Unity и Havok
Посмотрите это интервью, чтобы узнать как компания Unity в сотрудничестве с Havok разработала Havok Physics для Unity на базе фреймворка Unity ECS.
Детерминизм — это идентичность результата физической симуляции при одинаковых исходных данных. И 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. Уже созданный контент не пострадает, но, возможно, что при переходе на новый движок контент придется немного доработать.