Как сделать физику в игре

Добавил пользователь Alex
Обновлено: 19.09.2024

Вообще в этом буквально ничего не понимаю. Есть какие-нибудь книги или статьи по физике, чтоб конченый нуб понял?

Для того, чтобы сделать физику в игре, нужно очень хорошо знать ее законы в реальном мире. Так что учи физику!)
А вообще на DirectX оно раньше выполнялось, сейчас не знаю, но скорее всего все то же самое.

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Технология ATI Stream Computing – альтернатива nVidia CUDA и физика в играх. Широко применяется, в первую очередь, в сфере обработки мультимедийных данных. С помощью вычислительных ресурсов видеокарт значительно ускорится работа многих популярных приложений для редактирования видео, звука и изображений.

Физика в играх

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

Однако не стоит забывать о применении ATI Stream Computing в играх. Ее возможности позволяют разработчикам компьютерных игр поднять спецэффекты и искусственный интеллект персонажей на новый качественный уровень.

Начиная с серии Radeon HD 4000 можно опробовать возможности технологии потоковых вычислений. Значительно ускорилась работа видеоконвертера ATI Avivo Video Converter.

Что касается ПО, адаптированного к технологии AMD, их число постоянно растёт: Microsoft, Adobe, CyberLink и ArcSoft. Поддержка аппаратного ускорения уже есть в Adobe Acrobat Reader, Adobe Photoshop CS4, Adobe Flash 10, Adobe After Effects CS4, Microsoft Office PowerPoint 2007, ArcSoft TotalMedia Theater, CyberLink PowerDirector 7.

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

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

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

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

Физика в играх

Физика в играх

Havok FX должен был использоваться только на компьютерах, оснащённых минимум двумя видеокартами в режиме SLI или CrossFire. При этом одна видеокарта из этой связки должна была полностью выделяться для физических вычислений.

Физика в играх

Intel всем доказывала, что лучше всего использовать для этого многоядерные, и только Intel ;), процессоры. Но и Intel и ATI обещали, как только выйдет новый DirectX (тогда ещё ver.10), так сразу и почувствуете физику в играх.

Также появилась в новом DirectX возможность использовать шейдеры (основные целевые приложения для вычислительного шейдера включают в себя пост-процессовую обработку, физику, AI и некоторые другие, как трассировка лучей) и тесселяцию.

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

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

Достоинством этого метода является то, что, когда рассматривается полностью просчитанное изображение, среднее количество обработанных треугольников остаётся близко к постоянному значению, так что игроку значительно реже приходится сталкиваться с резкими падениями производительности.

Это является одной из причин, почему AMD представило аппаратное обеспечение для тесселяции в Radeon HD 2900 XT, которое включено в состав всех последующих GPU компании.

Но вернёмся к продвижению физических процессов в играх. nVidia тоже тогда пыталась что-то придумать по этому поводу, но дальше лейбла (SLI Physics) (рис. 4) и идей не пошла.

Была ещё тогда компания Ageia (рис. 5), которая разработала свой движок PhysX и плату-ускоритель физики (PPU – Physics Processing Unit) на собственном одноименном чипе. Процессор PhysX, состоял из 125 миллионов транзисторов и включал в себя ядро общего назначения, управлявшее массивом SIMD-процессоров.

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

А также использовать новые продвинутые эффекты, например, имитировать реалистичное поведение жидкостей и тканей или создавать полностью разрушаемое окружение. Т.е. в общем виде ПО передавало в плату данные о текущем состоянии сцены и получала обратно результаты имитации физики.

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

Технология называлась Hardware Scene Manager (HSM). Физический движок PhysX SDK состоит из трёх главных компонентов по обработке физики: обработка твёрдых тел, обработка тканей, обработка жидкостей.

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

После того, как компания nVidia в 2008 г. приобрела Ageia, PhysX полностью перешёл в собственность nVidia. PhysX SDK распространяется бесплатно и накладывает на разработчиков лишь необходимость указания в программном продукте информации об используемом физическом движке, а так же отображения логотипа компании nVidia на этапе загрузки программного продукта.

Поддержка PhysX SDK была интегрирована в структуру CUDA и стала доступная для всех видеокарт производства nVidia, начиная с серии 8ххх, под Windows XP. Физический движок PhysX SDK теперь известен как nVidia PhysX SDK. Таким образом, необходимость в выделенном физическом процессоре PhysX отпала.

Вначале компания nVidia отреагировала на инициативу Эрана Бэдита негативно, заявив, что это невозможно. Однако Бэдиту предложили потом вступить в команду разработчиков nVidia, открыли доступ к документации, SDK, аппаратному обеспечению и дали контакты инженеров.

Было обещано, что модифицированные драйверы для карт ATI скоро станут доступны для загрузки. В свою очередь компания ATI официально не поддержала инициативу Бэдита. Для написания официальных (не модифицированных) драйверов ATI с поддержкой PhysX компания nVidia предлагает лицензировать аппаратную поддержку CUDA, которая включает в себя PhysX. Однако технология CUDA конкурирует с технологией AMD FireStream.

В графических драйверах nVidia версии 186 была заблокирована возможность совместной работы двух графических карт, на которые установлены графические процессоры от разных производителей (AMD и nVidia).

Таким образом, если раньше была возможность разделения вычислений по разным графическим картам, например, карта с процессором nVidia могла рассчитывать игровую физику, а карта с процессором AMD заниматься рендерингом изображения, то с версии 186 эта возможность заблокирована, даже если в системе обнаружен интегрированный GPU другого производителя.

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

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

Физика в играх

Достаточно включить PhysX, но игры, которые требуют установленную карту как минимум GeForce GTX 280, могут не позволить включить физику. Однако, это закономерно влечёт за собой проблему.

Если использовать одно и то же ядро одновременно для графики и физики, то обе эти задачи будут конкурировать между собой за вычислительные мощности GPU, а в результате легко может сложиться ситуация, когда их окажется недостаточно для обеспечения приемлемой производительности в сцене, использующей одновременно сложную графику и продвинутые физические эффекты. Можно решить эту проблему установкой в систему второй графической карты и назначением ее в качестве ускорителя PhysX.

Физика в играх

Физика в играх

Физика в играх

Физика в играх

На графиках видно, что при отключенной физике балы теста одинаковы для всех вариантов подключения GeForce GTX 560 Ti, кроме одиночной GeForce GTX 560 Ti. Это можно объяснить тем, что сильно нагрузить (без включения PhysX) видеокарту игра не способна.

Однако установка дополнительной карты не всегда возможна или желательна, а двухпроцессорные GeForce редко встречается в продаже и дороги. Кстати, есть уникальные видеокарты, оснащённые отдельным ядром для ускорения PhysX – GeForce GTX 275 CO-OP PhysX Edition от EVGA. Видеокарты GeForce GT 460 и выше не сильно нуждаются в дополнительном ускорителе физики.

Чтобы стимулировать разработку программного обеспечения, использующего OpenCL (Open Computing Language) и Bullet Physics, корпорации AMD и Pixelux предлагают универсальный подход, подходящий для игровых консолей, ПК и прочих аппаратных платформ.

В течение многих лет Pixelux совершенствует систему физических расчётов Digital Molecular Matter (DMM) System, в основе которой лежит использование метода конечных элементов. Раньше DMM была закрытой разработкой Pixelux, но теперь ее сможет использовать широкий круг разработчиков, так как оная будет встроена в Bullet Physics.

Подобно тому, как технология ATI Stream сейчас даёт разработчикам ПО возможность использовать в своих программах совместную работу нескольких CPU и GPU, так Bullet Physics сделает широкодоступными разработки Pixelux.

По замыслу партнёров, преимущества DMM будут доступны для систем, поддерживающих OpenCL и DirectX 11 (AMD продаёт соответствующие механизмы в DirectCompute API). Новейшие графические продукты, такие, как серия GPU ATI Radeon HD 5800, обеспечивают невероятное качество визуализации и высокую производительность.

Вкупе с физическим моделированием они способны сделать новый шаг в реалистичном изображении того, как игровые объекты движутся, деформируются и разбиваются на части. Что же, если (или правильнее - когда) совместные усилия AMD и Pixelux Entertainment приведут к успеху, судьба закрытой разработки, коей является NVIDIA PhysX, представляется незавидной.

С другой стороны, AMD официально начала сотрудничать с ирландской Havok, приобретённой корпорацией Intel. Нет сомнений в том, что основной целью этих отношений является адаптация физического движка Havok FX к видеокартам Radeon.

AMD не просто занимается критикой конкурентов, но также и продвигает открытую архитектуру для просчёта физики в играх Open Physics Initiative. AMD даже хотела реализовывать в своих продуктах поддержку движка PhysX и платформы CUDA.

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

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

Есть разработка и нового физического движка Lagoa Multiphysics. Среди функций движка заявлены способность обработки движения и взаимодействия частиц в сыпучих материалах, несжимаемых жидкостях, упругих конструкциях, деформации пластиковых материалов и многие другие эффекты.

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

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

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

Распространенным аспектом компьютерных игр, моделирующих какой-либо тип конфликта, является взрыв. В ранних компьютерных играх использовался простой прием повторения одного и того же взрыва в любых обстоятельствах. Однако в реальном мире взрыв может варьироваться в зависимости от местности, высоты взрыва и типа ударяемого твердого тела. В зависимости от доступной вычислительной мощности эффекты взрыва могут быть смоделированы как расколотые и раздробленные компоненты, приводимые в движение расширяющимся газом. Это моделируется с помощью моделирования системы частиц . Модель системы частиц позволяет моделировать множество других физических явлений, включая дым , движущуюся воду , осадки и так далее. Отдельные частицы в системе моделируются с использованием других элементов правил физического моделирования с ограничением, заключающимся в том, что количество частиц, которые можно моделировать, ограничивается вычислительной мощностью оборудования. Таким образом, взрывы, возможно, необходимо моделировать как небольшой набор крупных частиц, а не как более точное огромное количество мелких частиц. [2]

Это метод процедурной анимации и моделирования для отображения движения убитого персонажа. Он рассматривает тело персонажа как серию жестких костей, соединенных шарнирами в суставах. Имитация моделирует то, что происходит с телом, когда оно падает на землю. Более сложные физические модели движения существ и взаимодействий при столкновениях требуют большей вычислительной мощности и более точного моделирования твердых тел, жидкостей и гидродинамики. Смоделированные шарнирные системы могут затем воспроизводить эффекты скелета , мышц , сухожилий и других физиологических компонентов. [3] Некоторые игры, такие как Boneworks и Half-Life 2 , применяют силы к отдельным суставам, что позволяет тряпичным куклам двигаться и вести себя как гуманоиды с полностью процедурной анимацией. Это позволяет, например, сбивать врага с ног или захватывать каждый отдельный сустав и перемещать его, и анимация на основе физики будет адаптироваться соответствующим образом, что было бы невозможно с обычными средствами. Этот метод называется активными тряпичными куклами и часто используется в сочетании с обратной кинематикой .

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

Создание собственной Солнечной системы и безумные эксперименты с ядерными реакциями – всё это в нашем сегодняшнем обзоре приложений и игр для изучения физики.

С развитием технологий в поле внимания разработчиков игр попала сфера образования. Сегодня совсем не редкость встретить интерактивное пособие по геометрии или таблицу Менделеева, приложение для изучения алгебры, онлайн-фолиант для постижения истории Вселенной или географическую игру. Учителям остаётся только выбирать, если они, конечно, готовы к этому выбору. Сегодня мы предлагаем вашему вниманию 13 различных приложений и игр, которые могут пригодиться при изучении физики. Впрочем, они настолько интересны, что вполне подойдут не только ученикам и студентам, но и всем, кому интересно устройство нашего мира.

Snapshots of the Universe – удивительное приложение для iOS, не так давно выпущенное самим Стивеном Хокингом совместно с компанией Random House. Приложение состоит из восьми экспериментов, которые дают пользователям возможность не только получить базовые знания по физике, но и познакомиться с принципами, управляющими нашей Вселенной. В рамках предложенных экспериментов игроки могут отправлять ракеты в открытый космос, собирать собственные звёздные системы, искать и изучать чёрные дыры. Каждый эксперимент можно проводить бесчисленное количество раз, изменяя физические параметры и наблюдая за появляющимися эффектами. Чтобы лучше понять эксперименты, можно зайти в раздел объяснения результатов и посмотреть видео. Приложение доступно на iTunes. Cтоимость игры от великого физика составляет всего лишь $4,99.


Это игра с уникальным сочетанием особенностей аркады и головоломки, место действия которых – мир субатомных частиц. Взяв под контроль одного из кварков, вы должны вести переговоры с фундаментальными силами Вселенной. Другие частицы будут притягиваться и отталкиваться, соединяться и изменять полярность, задача несчастного кварка - не терять контроль и избегать разрушения. Через всю игру красной нитью проходит история Элисон – молодого физика с нелёгким прошлым. Её путешествие через субатомный мир протекает в воспоминаниях и в конечном счёте приводит к удивительным открытиям. На сайте представлена бесплатная демо-версия, за полную придётся заплатить от 5-ти до 50-ти долларов – в зависимости от особенностей вашей системы.


Игра от первого лица, разработанная лабораторией игр Массачусетского технологического института (MIT), даёт возможность игрокам познакомиться с восприятием пространства на околосветовых скоростях и понять теорию относительности. Задача игрока – перемещаться по 3D-пространству, собирать сферические объекты, которые замедляют скорость света на фиксированные значения, что даёт возможность наблюдать за различными визуальными эффектами эйнштейновской теории.


Чем медленнее движется излучение — тем яснее проступают некоторые физические эффекты. К 90-му собранному камню свет будет распространяться со скоростью пешехода, что заставит вас почувствовать себя героями сюрреалистического мира. Среди явлений, с которыми может познакомиться герой во время игры, эффект Допплера (изменение при движении игрока длина волны регистрируемого им света, что приводит к изменению окраски видимых предметов, которая смещается в ультрафиолет и инфракрасную область), абберация света (увеличение яркости света в направлении движения), релятивистское замедление времени (различия между субъективным ощущением времени игрока и протекании времени во внешнем мире), преобразование Лоренца (искажение пространства на околосветовых скоростях) и т.д.


Игроки могут поделиться своим мастерством или опытом игры через Twitter. A Slower Speed of Light – это гармоничное сочетание доступного геймплея с научным материалом разделов теоретической и вычислительной физики, что делает игру успешным претендентом на использование в классе. Для PC, Mac и Linux есть доступные бесплатные варианты игры.

Впрочем, для тех, кто только приступил к изучению движения тел и различных физических сил, будет также интересно ознакомиться с образовательной видеоигрой Physics Playground. Игра представляет собой площадку, на которой игроку нужно выполнять достаточно простые действия – с помощью зелёного шара сбивать красный воздушный шарик. Вот тут-то и начинается классическая механика: без правильного применения законов Ньютона игрокам вряд ли удастся сконструировать в интерактивной среде механизмы, которые помогут привести в движение шарик. Впрочем, можно пользоваться и интуицией – главное, что на протяжении 80-ти уровней интуитивные знания, позволяющие достигать цели, постепенно приводят к пониманию закономерностей, которые лежат в основе классической механики. Игра разработана компанией Empirical Game, которая занимается созданием развивающих образовательных игр. В открытом доступе её, к сожалению, нет, однако разработчики предлагают связаться с ними, если вас заинтересовал этот продукт. В полной версии можно отслеживать успехи игроков с помощью анализа журналов лог-файла.

Autodesk ForceEffect – приложение для инженеров, которые занимаются различного рода проектированием. С помощью Autodesk ForceEffect можно делать инженерные расчёты прямо на мобильном устройстве. Это существенно облегчает работу по дизайну на стадии создания концепции, так как мгновенно определяет жизнеспособность конструкции. Впрочем, приложение будет интересно и тем, кто хотел бы узнать, как различные силы влияют на объекты. Таким энтузиастам вместо схемы дома для эксперимента можно взять обычный велосипед и на основе его фото провести ряд экспериментов, которые покажут, какую нагрузку он способен выдержать и что влияет на равновесие велосипеда. Особенно приятно, что приложение находится в открытом доступе и бесплатно доступно для Android, iOS.


Video Physics – приложение от Vernier Software & Technology, которое позволяет вам делать анализ движения физических тел на основе видео. Всё что нужно от пользователя – загрузить видео, отметить кадр за кадром движущийся объект и настроить масштаб. После этого приложение с лёгкостью построит траекторию движения объекта и высчитает скорость его движения. С Video Physics можно высчитать скорость движения качели, американских горок, автомобиля, футбольного мяча – чего угодно, лишь бы изменялось положение объекта в пространстве. В общем, Video Physics пригодилось бы не только на уроках физики, но и математики. В App Store стоимость приложения составляет около $4,69.


iCircuit – простой в использовании симулятор, который позволяет всем любителям физики поэкспериментировать с электрическими цепями. Усовершенствованный двигатель моделирования позволяет работать с аналоговыми и цифровыми схемами обработки сигналов. iCircuit прост в использовании и подобен другим САПР-программам: пользователь добавляет элементы, соединяет их вместе и задаёт необходимые свойства. Но iCircuit в отличие от других программ САПР находится в постоянном режиме моделирования. Не нужно останавливаться, чтобы постоянно делать дополнительные измерения или настройки. В игре более 30 элементов, которые можно использовать в процессе построения схем. Здесь есть всё – от резисторов и коммутаторов, до логических вентилей и МОП-структур. Кроме всего прочего, в приложении есть мультиметр, который позволяет вам исследовать схемы и проверять напряжение и ток в них. Подробное руководство представлено на сайте – правда, пока только на английском языке. Приложение доступно для PC, Mac и Linux, а также iPad и Android. Стоимость приложения варьируется в пределах 4-10-ти долларов.

Power Toy весьма похожа на Algodoo, но акцент смещён в сторону изучения давления, температуры и бесчисленного количества взаимодействий между различными веществами. Механика остаётся позади и в поле внимания игроков Power Toy попадают ядерные реакции, процессы, протекающие в вулканах, строительство и последующее уничтожение атомных электростанций и т.д. Игра доступна бесплатно для PC, Mac и Linux, так что уже сегодня можно заглянуть в самое сердце ядерного взрыва.

Tear-able Cloth – это даже не приложение, это – Javascript-код, который моделирует физику ткани. С помощью внесения правок в код можно экспериментировать с гравитацией и плотностью, меняя тем самым свойства ткани, растягивая или разрывая её. Впрочем, поиграться с тканью удастся и тем, кто не очень-то разбирается в кодах: воздействовать на материю можно и с помощью правой кнопки мыши.


Как видите, выбрать есть из чего. Изучаете ли вы этот предмет, преподаёте ли физику, или просто сожалеете, что когда-то не усвоили основные положения науки, которая раскрывает фундаментальные законы природы, - сегодня можно весело и играючи наверстать упущенное.

Читайте также: