NVIDIA PhysX

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: developer.nvidia.com/physx

PhysX — это физический движок и набор программных библиотек для симуляции динамики твёрдых тел, мягких тел, частиц, жидкостей и разрушений в реальном времени. Первоначально разработанный сторонней компанией и позднее приобретённый компанией NVIDIA, PhysX интегрируется в игровые и симуляционные движки, предоставляя средства для моделирования столкновений, сил, трения, связок и других эффектов, необходимых для реалистичного поведения объектов в интерактивных приложениях.

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

  • Моделирование твёрдых тел: расчёт столкновений, контактных сил, инерции и разрешение пересечений с поддержкой оптимизированных алгоритмов интеграции.
  • Мягкие тела и ткани: симуляция деформируемых объектов с сохранением сгибаемости, растяжимости и внутренних сил.
  • Системы частиц и флюидов: генерация и управление потоками частиц, взаимодействие частиц с телами и приближённая гидродинамика для эффектов жидкостей и дыма.
  • Разрушения и фрагментация: процедурные и преднастроенные механизмы расчёта ломкости объектов и распространения разрушений при динамических нагрузках.
  • Совместимость и интеграция: API для встраивания в игровые движки, инструменты для отладки и профилирования, а также плагины и адаптеры для популярных сред разработки.
  • Аппаратное ускорение: поддержка параллельных вычислений на GPU и многопоточность на CPU для масштабируемости симуляций в реальном времени.
  • Стабильность и предсказуемость: алгоритмы управления контактами и ограничениями, направленные на уменьшение численных артефактов и обеспечение повторяемости результатов.
  • Настраиваемость: параметры материалов, фрикционных моделей, коэффициентов демпфирования и интеграторов позволяют адаптировать поведение под требования конкретного приложения.
  • Инструменты разработки: примеры кода, средства визуализации и отладки физики, позволяющие исследовать и оптимизировать симуляции.
  • Сценарии применения: от игровых эффектов и кинематических задач до робототехнических симуляций, обучения с подкреплением и виртуальных прототипов механических систем.
Подробнее