Jump to content

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

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

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

Описание [ править ]

Обычно существует два класса физических движков : реального времени и высокоточные. Высокоточные физические механизмы требуют большей вычислительной мощности для очень точных физических расчетов и обычно используются учеными и компьютерными анимационными фильмами. Физические механизмы реального времени, используемые в видеоиграх и других формах интерактивных вычислений, используют упрощенные вычисления и пониженную точность для своевременного расчета, чтобы игра реагировала с соответствующей скоростью для игрового процесса. Физический движок — это, по сути, большой калькулятор, выполняющий математические вычисления, необходимые для моделирования физики. [1]

Научные двигатели [ править ]

Один из первых компьютеров общего назначения, ENIAC , использовался как очень простой физический движок. Он использовался для разработки таблиц баллистики, чтобы помочь военным США оценить, куда приземлятся артиллерийские снаряды различной массы при стрельбе под разными углами и зарядами пороха, а также учесть снос, вызванный ветром. Результаты подсчитывались один раз и сводились в печатные таблицы, которые раздавались командирам артиллерии.

Физические двигатели широко используются на суперкомпьютерах с 1980-х годов для выполнения вычислительного моделирования гидродинамики , где частицам присваиваются векторы силы , которые объединяются, чтобы показать циркуляцию. Из-за требований скорости и высокой точности специальные компьютерные процессоры, известные как векторные процессоры для ускорения вычислений были разработаны . Эти методы можно использовать для моделирования погодных условий при прогнозировании погоды , данных аэродинамической трубы для проектирования воздушных и водных транспортных средств или транспортных средств, включая гоночные автомобили, а также для термического охлаждения компьютерных процессоров для улучшения теплоотводов . Как и во многих вычислительных процессах, связанных с вычислениями, точность моделирования связана с разрешением моделирования и точностью вычислений; небольшие колебания, не смоделированные при моделировании, могут радикально изменить прогнозируемые результаты.

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

Игровые движки [ править ]

В большинстве компьютерных игр скорость процессоров и игровой процесс важнее точности симуляции. Это приводит к разработке физических движков, которые выдают результаты в реальном времени, но воспроизводят физику реального мира только для простых случаев и обычно с некоторым приближением. Чаще всего моделирование направлено на обеспечение «корректной по восприятию» аппроксимации, а не на реальную симуляцию. Однако некоторые игровые движки, такие как Source , используют физику в головоломках или в боевых ситуациях. Для этого нужна более точная физика, чтобы, например, импульс объекта мог опрокинуть препятствие или поднять тонущий объект.

физической В прошлом в анимации персонажей использовалась только динамика твердого тела , потому что ее быстрее и легче вычислять, но в современных играх и фильмах физика мягкого тела начинает использоваться . Физика мягких тел также используется для эффектов частиц, жидкостей и ткани. Иногда используется некоторая форма ограниченного моделирования гидродинамики для моделирования воды и других жидкостей, а также потока огня и взрывов в воздухе.

Обнаружение столкновений [ править ]

Объекты в играх взаимодействуют с игроком, окружающей средой и друг с другом. Обычно большинство 3D-объектов в играх представлены двумя отдельными сетками или фигурами. Одна из этих сеток — очень сложная и детализированная форма, видимая игроку в игре, например, ваза с элегантными изогнутыми ручками. Для повышения скорости используется вторая, упрощенная невидимая сетка, представляющая объект физическому движку, так что физический движок обрабатывает пример вазы как простой цилиндр. Таким образом, было бы невозможно вставить стержень или запустить снаряд через отверстия для ручек на вазе, поскольку модель физического движка основана на цилиндре и не знает о ручках. Упрощенную сетку, используемую для обработки физики, часто называют геометрией столкновений. Это может быть ограничивающая рамка , сфера или выпуклая оболочка . Движки, которые используют ограничивающие рамки или сферы в качестве окончательной формы для обнаружения столкновений, считаются чрезвычайно простыми. Обычно ограничивающая рамка используется для обнаружения столкновений в широкой фазе, чтобы сузить количество возможных столкновений до того, как дорогостоящее обнаружение столкновений сетка на сетке будет выполнено на узкой фазе обнаружения столкновений.

Другой аспект точности дискретного обнаружения столкновений связан с частотой кадров или количеством моментов времени в секунду, когда рассчитывается физика. Каждый кадр рассматривается как отдельный от всех остальных кадров, и пространство между кадрами не рассчитывается. Низкая частота кадров и небольшой быстродвижущийся объект приводят к ситуации, когда объект не движется плавно в пространстве, а вместо этого кажется телепортирующимся из одной точки пространства в другую при расчете каждого кадра. Снаряды, движущиеся с достаточно высокой скоростью, пропустят цель, если цель достаточно мала, чтобы поместиться в промежутке между расчетными кадрами быстро движущегося снаряда. Чтобы преодолеть этот недостаток, используются различные методы, такие как в Second Life в представление снарядов виде стрел с невидимыми хвостами, длина которых превышает промежуток между кадрами, и которые могут столкнуться с любым объектом, который может поместиться между рассчитанными кадрами. Напротив, непрерывное обнаружение столкновений, такое как в Bullet или Havok, не сталкивается с этой проблемой.

мягкого Динамика тела

Альтернативой использованию систем физики твердого тела на основе ограничительной рамки является использование системы на основе конечных элементов . трехмерная объемная мозаика В такой системе из трехмерного объекта создается . В результате тесселяции получается ряд конечных элементов, которые представляют аспекты физических свойств объекта, такие как прочность, пластичность и сохранение объема. После построения конечные элементы используются решателем для моделирования напряжения внутри трехмерного объекта. Напряжение можно использовать для разрушения, деформации и других физических эффектов с высокой степенью реализма и уникальности. По мере увеличения количества моделируемых элементов увеличивается способность движка моделировать физическое поведение. Визуальное представление трехмерного объекта изменяется системой конечных элементов за счет использования шейдера деформации, запускаемого на ЦП или графическом процессоре. Системы на основе конечных элементов были непрактичны для использования в играх из-за снижения производительности и отсутствия инструментов для создания представлений конечных элементов из трехмерных объектов искусства. Благодаря более производительным процессорам и инструментам для быстрого создания объемных мозаик системы конечных элементов реального времени начали использоваться в играх, начиная с Star Wars: The Force Unleashed использовалась , в которой цифровая молекулярная материя для воздействия на деформацию и разрушение древесины, стали, плоти и растений с использованием алгоритма, разработанного доктором Джеймсом О'Брайеном в рамках его докторской диссертации. [2]

Броуновское движение [ править ]

В реальном мире физика всегда активна. Во всех частицах нашей Вселенной существует постоянное дрожание броуновского движения, поскольку силы толкаются взад и вперед друг против друга. Для игрового физического движка такая постоянная активная точность неоправданно тратит ограниченную мощность процессора, что может вызвать такие проблемы, как снижение частоты кадров . Таким образом, игры могут усыплять объекты, отключая физические вычисления для объектов, которые не переместились на определенное расстояние в течение определенного периода времени. Например, в 3D- виртуальном мире Second Life , если объект лежит на полу и не перемещается дальше минимального расстояния примерно за две секунды, то физические расчеты для объекта отключаются и он замирает на месте. Объект остается замороженным до тех пор, пока физическая обработка объекта не активируется повторно после столкновения с каким-либо другим активным физическим объектом. [3]

Парадигмы [ править ]

Физические движки для видеоигр обычно имеют два основных компонента: систему обнаружения столкновений / реакции на них и компонент динамического моделирования, отвечающий за определение сил, воздействующих на моделируемые объекты. Современные физические движки также могут содержать моделирование жидкостей , системы управления анимацией и интеграции активов инструменты . Существует три основные парадигмы физического моделирования твердых тел: [4]

Наконец, возможны гибридные методы, сочетающие в себе аспекты вышеуказанных парадигм.

Ограничения [ править ]

Основным ограничением реализма физического движка является аппроксимированный результат разрешения ограничений и результат коллизий из-за медленной сходимости алгоритмов. Обнаружение столкновений, рассчитанное со слишком низкой частотой, может привести к тому, что объекты пройдут сквозь друг друга, а затем оттолкнутся с аномальной корректирующей силой. С другой стороны, аппроксимированные результаты силы реакции обусловлены медленной сходимостью типичного решателя Projected Gauss Seidel, что приводит к аномальному подпрыгиванию. Эту проблему может продемонстрировать любой тип свободно движущегося сложного физического объекта, но он особенно склонен воздействовать на звенья цепи, находящиеся под высоким натяжением, а также на колесные объекты с активно физическими несущими поверхностями. Более высокая точность уменьшает ошибки позиционирования/силы, но за счет увеличения мощности процессора для вычислений.

Физический процессор (ППУ) [ править ]

Физический процессор (PPU) — это специальный микропроцессор, предназначенный для выполнения физических вычислений, особенно в физическом движке видеоигр . Примеры расчетов с использованием PPU могут включать динамику твердого тела , динамику мягкого тела , обнаружение столкновений , динамику жидкости , моделирование волос и одежды, анализ методом конечных элементов и разрушение объектов. Идея состоит в том, что специализированные процессоры разгружают трудоемкие задачи с ЦП компьютера, подобно тому, как графический процессор выполняет графические операции вместо основного ЦП. Этот термин был придуман маркетинговым отделом Ageia для описания потребителям чипа PhysX. Некоторые другие технологии в спектре CPU-GPU имеют с ней некоторые общие черты, хотя решение Ageia было единственным законченным, разработанным, продаваемым, поддерживаемым и размещенным в системе исключительно как PPU.

на графическом процессоре (GPGPU Вычисления общего назначения )

Аппаратное ускорение физической обработки теперь обычно обеспечивается графическими процессорами, которые поддерживают более общие вычисления — концепцию, известную как вычисления общего назначения на графических процессорах (GPGPU). AMD и NVIDIA обеспечивают поддержку вычислений динамики твердого тела на своих новейших видеокартах.

NVIDIA Серия GeForce 8 поддерживает основанную на графическом процессоре технологию ускорения ньютоновской физики под названием Quantum Effects Technology . NVIDIA предоставляет набор инструментов SDK для технологии CUDA ( Compute Unified Device Architecture ), который предлагает как низкоуровневый, так и высокоуровневый API для графического процессора. [5] Для своих графических процессоров AMD предлагает аналогичный SDK под названием Close to Metal (CTM), который обеспечивает тонкий аппаратный интерфейс.

PhysX — это пример физического движка, который может использовать аппаратное ускорение на основе GPGPU, когда оно доступно.

Двигатели [ править ]

Физические движки реального времени [ править ]

Высокоточные физические движки [ править ]

  • VisSim — механизм визуального моделирования линейной и нелинейной динамики.

См. также [ править ]

Ссылки [ править ]

  1. ^ Миллингтон, Ян (7 марта 2007 г.). Разработка игрового физического движка . ЦРК Пресс. ISBN  978-1-4822-6732-7 .
  2. ^ «Графическое моделирование и анимация хрупкого разрушения» . Graphics.eecs.berkeley.edu . Проверено 1 сентября 2012 г.
  3. ^ «Док:Руководство/Игровой движок/Логика/Тип объекта/Жесткое тело — BlenderWiki» . Wiki.blender.org. 20 ноября 2009 г. Архивировано из оригинала 1 октября 2011 г. Проверено 16 августа 2010 г.
  4. ^ Эрлебен, Кенни; Спорринг, Джон; Хенриксен, Кнуд; Долманн, Хенрик (2005). Физическая анимация .
  5. ^ «Страница функций NVIDIA 8800 — Технология квантовых эффектов» . Nvidia.com . Проверено 16 августа 2010 г.
  6. ^ Репозиторий Jolt Physics на GitHub

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a59af679dd197de79691a8a5613dacbb__1709320920
URL1:https://arc.ask3.ru/arc/aa/a5/bb/a59af679dd197de79691a8a5613dacbb.html
Заголовок, (Title) документа по адресу, URL1:
Physics engine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)