Физика Ragdoll

Физика Ragdoll
Ранний пример использования физики Ragdoll, 1997 год.

Физика Ragdoll (рэгдо́лл) — вид процедурной анимации, пришедший на замену статичной, пререндеренной анимации. Название произошло от английских слов rag (русск. тряпка) и doll (русск. кукла), в силу чего в русском языке укоренилось выражение «тряпичная кукла».

Содержание

Развитие

Простейшие соединения (сочленения)

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

Шариковое соединение
Шарнирное (петельное) соединение

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

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

Первой игрой, использовавшей физику ragdoll, стал проект по мотивам вселенной Парка Юрского периода, игра Jurassic Park: Trespasser, вызвавшая диаметрально противоположные мнения, большинство из которых были отрицательными. Но хотя в Trespasser было множество программных ошибок, игра запомнилась как первопроходец в физике компьютерных игр. Сейчас же «тряпичная кукла» применяется не только для отображения смерти: существуют файтинги, в которых игрок управляет одной конечностью, а остальное тело двигается за ней (Rag Doll Kung Fu); или даже гоночные игры, где в случае серьёзного столкновения модель водителя вылетает через лобовое стекло и далее ведёт себя в соответствии с законами физики (серия подпрограммное обеспечение Euphoria от мышц, так и нервной системы. Если сравнивать подобное с архаичной рукотворной анимацией, то можно сказать, что был совершён значительный шаг в развитии компьютерных и видеоигр.

Использование новейших технологий, основанных на ragdoll-анимации, можно увидеть в таких играх, как Grand Theft Auto IV от Rockstar Games, Indiana Jones и Star Wars: The Force Unleashed от LucasArts.

Схожие технологии

Технология ragdoll работает, основываясь на принципах алгоритма Физерстоуна и пружинно-амортизаторных контактов.[1] Существует также альтернативное решение, использующее систему ограничений и идеализированные контакты.[2] В то время, как ограниченно твёрдые тела достаточно близки к «тряпичной кукле», существуют и «псевдо-ragdoll» технологии.

Интегрирование Верле 
Использовалось в игре Hitman: Codename 47 и стало распространено благодаря Томасу Якобсону (Thomas Jakobsen)[3]. В этой технике каждая кость персонажа моделируется как точка, соединённая с произвольным числом других точек через простые ограничения. Ограничения Верле намного проще и гораздо быстрее вычисляются, чем те, которые используются в системе полностью смоделированного твердого тела, что выражается в меньших затратах процессора.
Инверсная кинематика 
Относится к технологиям пост-обработки (англ. post-processing) и использовалась в Halo: Combat Evolved. Используя заранее созданную анимацию смерти, игровой движок просчитывает финальное положение тела, которое удовлетворяло бы реалистичному отображению. В случае применения инверсной кинематики умирающие персонажи могут частично проходить сквозь геометрию мира, однако в итоге все кости модели будут лежать на допустимом месте.
Смешанный Ragdoll 
Данная техника совмещает предварительно сделанную анимацию с системой ограничений. Таким образом, смерть персонажа отображается заранее продуманной, но физический движок проверяет допустимость каждого движения. Смешанный Ragdoll оказывается гораздо затратнее в плане вычислительных ресурсов, чем обычная «тряпичная кукла», но превосходит её на порядок повышенной реалистичностью отображения. Пример применения можно увидеть в игре Halo 2.
Процедурная анимация Основная статья: Euphoria (движок)

Изначально подобные технологии использовались в создании фильмов, рекламных роликов и телепрограмм, но со временем нашли своё применение и в компьютерных играх. Ключевым элементом этой процедурной анимации является расширенная симуляция человеческого тела. Технология Euphoria при обработке анимации воспроизводит не только кости, но и мускулы и нервную систему, добавляя в сцену правильное взаимодействие с окружающим миром. За счёт этого, каждый новый показ сцены отличается от предыдущего, что повышает увлекательность повторного прохождения игры. Действие технологии NaturalMotion можно увидеть в GTA IV и Star Wars: The Force Unleashed

Преимущества и недостатки

Демонстрация физики Ragdoll с использованием физического движка Tokamak. Этот рэгдолл сконструирован с использованием комбинации шарнирных и шариковых сочленений (соединений) с ограничениями движения данных соединений. В этой демонстрации несколько рэгдолл-моделей катятся вниз по ступенькам.

Поскольку просчёт физических параметров в реальном времени отнимает значительную часть вычислительной мощности процессора, многие игры используют упрощённую структуру скелета «тряпичной куклы». В частности:

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

Основным же преимуществом ragdoll-анимации перед традиционной является гораздо более правильное взаимодействие с окружающей средой. Если попытаться создать анимацию на каждый возможный игровой случай, это займёт очень много времени, а благодаря физике «тряпичной куклы» игровой движок может генерировать предельно точные сцены прямо на лету.

См. также

Примечания

  1. U.S. Patent 6067096 (англ.) "Method and system for generating realistic collisions in graphical simulations" (русск. «Методика и система создания реалистичных столкновений в области симуляции графики»)
  2. (1997) "Physically Based Modeling: Principles and Practice" in SIGGRAPH 97. Proc. SIGGRAPH '97, Los Angeles: Association for Computing Machinery Special Interest Group on Graphics. 
  3. Продвинутая Физика Персонажа (англ. Advanced Character Physics), доклад Томаса Якобсона на GDC'01

Ссылки

Статьи


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


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

  • Ragdoll-физика — Ранний пример использования физики Ragdoll, 1997 год. Физика Ragdoll (рэгдолл)  вид процедурной анимации, пришедший на замену статичной, пререндерной анимации. Название произошло от английского словосо …   Википедия

  • Процедурная анимация — Пример процедурной анимации, созданный в программе «TRUE» (Temporal Reasoning Universal Elaboration). На этом примере первое (самое левое, зелёное) колесо приводит в движение второе колесо, а второе  третье (самое правое, серое). Радиус и… …   Википедия

  • Reality Engine — Игровой движок (Список) Официальный логотип Reality Engine SDK Разработчик …   Википедия

  • Unreal Engine — Игровой движок (Список) Логотип игрового движка Разработчик Epic Games, Inc. Аппаратная платформа ПК Xbox …   Википедия

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

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

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

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

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

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


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

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