Фізичний рушій
Фізи́чний руші́й (англ. physics engine) — програмний рушій, що робить симуляцію фізичних законів реального світу у світі віртуальному з тим або іншим ступенем апроксимації. Найчастіше фізичні рушії використовуються не як окремі самостійні програмні продукти, а як складені компоненти (підпрограми) інших програм. Усі фізичні рушії умовно діляться на два типи: ігрові й наукові. Перший тип використовується в комп'ютерних іграх як компонент ігрового рушія. У цьому випадку він повинен працювати в режимі реального часу, тобто відтворювати фізичні процеси в грі з тою ж швидкістю, з якою вони відбуваються в реальному світі. Разом із тим, від ігрового фізичного рушія не потрібно точності обчислень. Головна вимога — візуальна реалістичність, — і для її досягнення не обов'язково проводити точну симуляцію. Тому в іграх використовуються дуже приблизні апроксимації, наближені моделі й інші програмні «трюки». Наукові фізичні рушії використовуються в науково-дослідних розрахунках і симуляціях, де вкрай важлива саме фізична точність обчислень. Разом із тим швидкість обчислень не грає істотної ролі. Сучасні фізичні рушії симулюють не всі фізичні закони реального світу, а лише деякі, причому із часом і прогресом у галузі інформаційних технологій і обчислювальної техніки список «підтримуваних» законів збільшується. На початок 2010 року фізичні рушії можуть симулювати такі фізичні явища й стани:
У серпні 2009 року англомовний журнал Game Developer[en], присвячений розробці комп'ютерних ігор, опублікував статтю про сучасні ігрові рушії та їхнє використання. Згідно з даними журналу, найпопулярнішим серед розробників є рушій nVidia PhysX, що займає 26,8% ринку. На другому місці перебуває Havok, що займає 22,7% ринку. Третє місце належить рушію Bullet Physics Library (10,3%), а четверте — Open Dynamics Engine (4,1%).[1] ВикористанняОписФізичний рушій дозволяє створити деякий віртуальний простір, який можна наповнити тілами (віртуальними статичними й динамічними об'єктами), і вказати для нього якісь загальні закони взаємодії тіл і середовища, тією, чи іншою мірою наближені до фізичних, задаючи при цьому характер і ступінь взаємодій (імпульси, сили тощо). Властиво розрахунок взаємодії тіл рушій і бере на себе. Коли простого набору об'єктів, що взаємодіють за певними законами у віртуальному просторі, недостатньо в силу неповного наближення фізичної моделі до реального світу, можливо додавати (до тіл) зв'язки. Розраховуючи взаємодію тіл між собою й із середовищем, фізичний рушій наближає фізичну модель одержуваної системи до реального світу, передаючи уточнені геометричні дані засобові відображення (рендереру). ТілоТіло (англ. body) — об'єкт ігрової фізики, що визначається:
Зв'язокЗв'язок (з'єднання; англ. joint) — обмеження об'єктів ігрової фізики, кожне з яких може накладатися на одне або два тіла. ВзаємодіяЯк правило, фізичний рушій і вирішує проблему взаємодії тіл. Проте, може з'явитися необхідність використання власного алгоритму взаємодії, і, як правило, рушії надають таку можливість. Відомі фізичні рушіїІгрові пропрієтарні
Ігрові вільні
Ігрові апаратні
НауковіІнші
Див. такожПосилання
Примітки
|