Ragdoll-физикаФизика Ragdoll (рэгдо́лл) — вид процедурной анимации, пришедший на замену статичной, пререндерной анимации. Название произошло от английского словосочетания rag doll (rag — тряпка, doll — кукла), в силу чего на русском языке этот вид анимации часто называют «тряпичной куклой». РазвитиеПростейшие соединения (сочленения)
Два простейших соединения между двумя физическими телами, использование которых является достаточным для симуляции физики Ragdoll любой сложности. Ранние трёхмерные компьютерные игры использовали заранее созданную анимацию для отображения смерти персонажей. Для изображения умирающего персонажа использовался набор пререндеренных анимаций, этот способ характеризуется низкими затратами центрального процессора. Когда мощности компьютеров возросли, стало возможным создание симуляций физики в реальном времени с некоторыми ограничениями. На данном этапе Ragdoll представлял собой набор твёрдых тел, каждое из которых соответствует кости в системе скелетной анимации графического движка, связанных вместе с помощью системы ограничений. Она определяет на какие углы каждое тело может отклоняться от соседнего, чтобы изображение оставалось реалистичным. Термин «тряпичная кукла» появился из-за некорректной работы системы сочленений. В связи с ограничениями реализации некоторые суставы модели имели малую или отсутствующую жёсткость, что заставляло её падать подобно настоящей тряпичной кукле, нередко вызывая комический эффект несуразностью получившейся позы. Первой игрой, использовавшей физику ragdoll, стал проект по мотивам вселенной Парка Юрского периода, игра Jurassic Park: Trespasser, вызвавшая диаметрально противоположные мнения, большинство из которых были отрицательными. Но хотя в Trespasser было множество программных ошибок, игра запомнилась как первопроходец в физике компьютерных игр. Сейчас же «тряпичная кукла» применяется не только для отображения смерти: существуют файтинги, в которых игрок управляет одной конечностью, а остальное тело двигается за ней (Rag Doll Kung Fu); или даже гоночные игры, где в случае серьёзного столкновения модель водителя вылетает через лобовое стекло и далее ведёт себя в соответствии с законами физики (серия FlatOut). Современные технологии процедурной анимации (например те, на которых основано подпрограммное обеспечение Euphoria от NaturalMotion), позволяют разрабатывать игры, заставляющие поверить в происходящее на экране благодаря имитации как мышц, так и нервной системы. Если сравнивать подобное с архаичной рукотворной анимацией, то можно сказать, что был совершён значительный шаг в развитии видеоигр. Использование новейших технологий, основанных на ragdoll-анимации, можно увидеть в таких играх, как Grand Theft Auto IV от Rockstar Games, Indiana Jones and the Staff of Kings и Star Wars: The Force Unleashed от LucasArts. Схожие технологииТехнология ragdoll работает, основываясь на принципах алгоритма Физерстоуна и пружинно-амортизаторных контактов[1]. Существует также альтернативное решение, использующее систему ограничений и идеализированные контакты[2]. В то время как ограниченно твёрдые тела достаточно близки к «тряпичной кукле», существуют и «псевдо-ragdoll» технологии.
Изначально подобные технологии использовались в создании фильмов, рекламных роликов и телепрограмм, но со временем нашли своё применение и в компьютерных играх. Ключевым элементом этой процедурной анимации является расширенная симуляция человеческого тела. Технология Euphoria при обработке анимации воспроизводит не только кости, но и мускулы и нервную систему, добавляя в сцену правильное взаимодействие с окружающим миром. За счёт этого, каждый новый показ сцены отличается от предыдущего, что повышает увлекательность повторного прохождения игры. Действие технологии NaturalMotion можно увидеть в GTA IV и Star Wars: The Force Unleashed Преимущества и недостаткиПоскольку просчёт физических параметров в реальном времени отнимает значительную часть вычислительной мощности процессора, многие игры используют упрощённую структуру скелета «тряпичной куклы». В частности:
Основным же преимуществом ragdoll-анимации перед традиционной является гораздо более правильное взаимодействие с окружающей средой. Если попытаться создать анимацию на каждый возможный игровой случай, это займёт очень много времени, а благодаря физике «тряпичной куклы» игровой движок может генерировать предельно точные сцены прямо на лету. См. такжеПримечания
Ссылки |