Физический движок

Физический движок

Физический движок (англ. physics engine) — компьютерная программа, которая производит компьютерное моделирование физических законов реального мира в виртуальном мире, с той или иной степенью аппроксимации. Чаще всего физические движки используются не как отдельные самостоятельные программные продукты, а как составные компоненты (подпрограммы) других программ.

Все физические движки условно делятся на два типа: игровые и научные.

  • Первый тип используется в компьютерных играх как компонент игрового движка. В этом случае он должен работать в режиме реального времени, то есть воспроизводить физические процессы в игре с той же самой скоростью, в которой они происходят в реальном мире. Вместе с тем от игрового физического движка не требуется точности вычислений. Главное требование — визуальная реалистичность, — и для его достижения не обязательно проводить точную симуляцию. Поэтому в играх используются очень сильные аппроксимации, приближенные модели и другие программные «трюки».
  • Научные физические движки используются в научно-исследовательских расчётах и симуляциях, где крайне важна именно физическая точность вычислений. Вместе с тем скорость вычислений не играет существенной роли.

Современные физические движки симулируют не все физические законы реального мира, а лишь некоторые, причём с течением времени и прогресса в области информационных технологий и вычислительной техники список «поддерживаемых» законов увеличивается. На начало 2010 года физические движки могут симулировать следующие физические явления и состояния:

В августе 2009 года англоязычный журнал Game Developer (англ.), посвящённый разработке компьютерных игр, опубликовал статью о современных игровых движках и их использовании. Согласно данным журнала, наиболее популярным среди разработчиков является движок nVidia PhysX, который занимает 26,8% рынка. На втором месте находится Havok, который занимает 22,7% рынка. Третье место принадлежит движку Bullet Physics Library (10,3%), а четвёртое — Open Dynamics Engine (4,1%).[1]

Содержание

Использование

Описание

Физический движок позволяет создать некое виртуальное пространство, которое можно наполнить телами (виртуальными статическими и динамическими объектами), и указать для него некие общие законы взаимодействия тел и среды, в той или иной мере приближенные к физическим, задавая при этом характер и степень взаимодействий (импульсы, силы, и т. д). Собственно расчёт взаимодействия тел движок и берёт на себя. Когда простого набора объектов, взаимодействующих по определённым законам в виртуальном пространстве, недостаточно в силу неполного приближения физической модели к реальной, возможно добавлять (к телам) связи. Рассчитывая взаимодействие тел между собой и со средой, физический движок приближает физическую модель получаемой системы к реальной, передавая уточнённые геометрические данные средству отображения (рендереру).

Тело

Тело (англ. body) — объект игровой физики, который определяется:

  • его формой (есть простые формы: шар, куб, цилиндр; есть сложные формы, набор которых в разных движках может различаться);
  • неким набором параметров (масса, упругость, коэффициент трения, инертность по осям).

Связь

Связь (соединение; англ. joint) — ограничения объектов игровой физики, каждое из которых может накладываться на одно или два тела.

Взаимодействие

Как правило, физический движок и решает проблему взаимодействия тел. Тем не менее, может появиться необходимость использования собственного алгоритма взаимодействия, и, как правило, движки предоставляют такую возможность.

Известные физические движки

Игровые проприетарные

  • Havok — некогда самый популярный и распространённый физический движок, используемый в более чем в 100 играх. На данный момент немного уступил своему конкуренту[1];
  • PhysX — основной конкурент Havok, единственный в мире физический движок, имеющий аппаратную поддержку (см. Физический процессор). Покупка Ageia компанией nVidia привела к переименованию движка в nVidia PhysX. На данный момент PhysX занимает первое место по популярности среди физических движков[1];
  • Digital Molecular Matter

Игровые свободные

Ныне несуществующие

  • NovodeX — физический движок, приобретённый компанией Ageia и преобразованный в PhysX.
  • Meqon — физический движок, приобретённый компанией Ageia и интегрированный в состав её движка PhysX.
  • Ipion Virtual Physics — физический движок, приобретённый компанией Havok и интегрированный в состав её движка Havok Physics;
  • Karma — коммерческий движок от ныне закрытой компании MathEngine, интегрирован в Unreal Engine 2.0/2.5.

Другие

См. также

Примечания

  1. 1 2 3 4 5 Bullet ranked third physics library at 10% in Game Developers Magazine survey  (англ.). официальный сайт движка Bullet Physics Library (3 сентября 2009 года). Архивировано из первоисточника 16 февраля 2012. Проверено 24 сентября 2009.

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Физический движок" в других словарях:

  • Karma (физический движок) — У этого термина существуют и другие значения, см. Karma. Karma Физический движок …   Википедия

  • Физический ускоритель — Физический процессор (англ. Physics Processing Unit  англ. PPU, «физический ускоритель», «ускоритель физики»)  устройство, чип, выделенный специализированный процессор, предназначенный для обработки физических вычислений преимущественно в… …   Википедия

  • Движок Unreal — Unreal Engine Тип Игровой движок Разработчик Epic Games, Inc. Написана на C++[1], UnrealScript ОС …   Википедия

  • Физический процессор — Данные в этой статье приведены по состоянию на 2008 год. Вы можете помочь, обновив информацию в статье …   Википедия

  • Движок — Эта статья о компьютерном термине; другие значения: Двигатель. У этого термина существуют и другие значения, см. Лопата#Виды лопат. Движок (жаргонизм от англ. engine  мотор, двигатель)  выделенная часть программного кода для… …   Википедия

  • Движок (программа) — Движок (жаргонизм от en. engine мотор, двигатель) выделенная часть программного кода для реализации конкретной прикладной задачи программа, часть программы, комплекс программ или библиотека, в зависимости от задачи и реализации. Как правило,… …   Википедия

  • Движок (компьютерный сленг) — Это статья о компьютерном термине. См. также: Двигатель. Движок (жаргонизм от англ. engine  мотор, двигатель)  выделенная часть программного кода для реализации конкретной прикладной задачи  программа, часть программы, комплекс программ или… …   Википедия

  • PhysX (движок) — У этого термина существуют и другие значения, см. PhysX. PhysX Физический движок Официальный логотип Разработчики …   Википедия

  • PhysX SDK (движок) — PhysX Тип Физический движок Разработчик nVidia ОС Microsoft Windows, Mac OS X, Xbox 360, PlayStation 3, Nintendo Wii Версия 9 …   Википедия

  • X-Ray (движок) — У этого термина существуют и другие значения, см. X Ray. X Ray Игровой движок (Список) Разработчик …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»