Ragdoll-физика

Поделись знанием:
(перенаправлено с «Физика 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» технологии.

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

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

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

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

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

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

См. также

Напишите отзыв о статье "Ragdoll-физика"

Примечания

  1. [www.google.com/patents/US6067096 U.S. Patent 6 067 096] «Method and system for generating realistic collisions in graphical simulations» (рус. «Методика и система создания реалистичных столкновений в области симуляции графики»)
  2. (1997) "[www.cs.cmu.edu/~baraff/sigcourse/ Physically Based Modeling: Principles and Practice]" in [www.siggraph.org/s97/ SIGGRAPH 97]. Proc. SIGGRAPH '97, Los Angeles: Association for Computing Machinery Special Interest Group on Graphics. 
  3. [www.teknikus.dk/tj/gdc2001.htm Продвинутая Физика Персонажа] (англ. Advanced Character Physics), доклад Томаса Якобсона на GDC’01

Ссылки

  • [www.gamasutra.com/features/19990514/trespasser_01.htm Postmortem: Trespasser от DreamWorks Interactive]; журнал Game Developer, июнь 1999 года
  • [www.gamasutra.com/features/gdcarchive/2001/index.htm Архив докладов] с GDC’01 на Gamasutra

Отрывок, характеризующий Ragdoll-физика

– Laissez moi, laissez moi, tout ca m'est parfaitement egal, [Оставьте меня, мне всё равно,] – отвечал голос, едва удерживающий слезы.
M lle Bourienne и маленькая княгиня должны были признаться самим себе, что княжна. Марья в этом виде была очень дурна, хуже, чем всегда; но было уже поздно. Она смотрела на них с тем выражением, которое они знали, выражением мысли и грусти. Выражение это не внушало им страха к княжне Марье. (Этого чувства она никому не внушала.) Но они знали, что когда на ее лице появлялось это выражение, она была молчалива и непоколебима в своих решениях.
– Vous changerez, n'est ce pas? [Вы перемените, не правда ли?] – сказала Лиза, и когда княжна Марья ничего не ответила, Лиза вышла из комнаты.
Княжна Марья осталась одна. Она не исполнила желания Лизы и не только не переменила прически, но и не взглянула на себя в зеркало. Она, бессильно опустив глаза и руки, молча сидела и думала. Ей представлялся муж, мужчина, сильное, преобладающее и непонятно привлекательное существо, переносящее ее вдруг в свой, совершенно другой, счастливый мир. Ребенок свой, такой, какого она видела вчера у дочери кормилицы, – представлялся ей у своей собственной груди. Муж стоит и нежно смотрит на нее и ребенка. «Но нет, это невозможно: я слишком дурна», думала она.
– Пожалуйте к чаю. Князь сейчас выйдут, – сказал из за двери голос горничной.
Она очнулась и ужаснулась тому, о чем она думала. И прежде чем итти вниз, она встала, вошла в образную и, устремив на освещенный лампадой черный лик большого образа Спасителя, простояла перед ним с сложенными несколько минут руками. В душе княжны Марьи было мучительное сомненье. Возможна ли для нее радость любви, земной любви к мужчине? В помышлениях о браке княжне Марье мечталось и семейное счастие, и дети, но главною, сильнейшею и затаенною ее мечтою была любовь земная. Чувство было тем сильнее, чем более она старалась скрывать его от других и даже от самой себя. Боже мой, – говорила она, – как мне подавить в сердце своем эти мысли дьявола? Как мне отказаться так, навсегда от злых помыслов, чтобы спокойно исполнять Твою волю? И едва она сделала этот вопрос, как Бог уже отвечал ей в ее собственном сердце: «Не желай ничего для себя; не ищи, не волнуйся, не завидуй. Будущее людей и твоя судьба должна быть неизвестна тебе; но живи так, чтобы быть готовой ко всему. Если Богу угодно будет испытать тебя в обязанностях брака, будь готова исполнить Его волю». С этой успокоительной мыслью (но всё таки с надеждой на исполнение своей запрещенной, земной мечты) княжна Марья, вздохнув, перекрестилась и сошла вниз, не думая ни о своем платье, ни о прическе, ни о том, как она войдет и что скажет. Что могло всё это значить в сравнении с предопределением Бога, без воли Которого не падет ни один волос с головы человеческой.


Когда княжна Марья взошла в комнату, князь Василий с сыном уже были в гостиной, разговаривая с маленькой княгиней и m lle Bourienne. Когда она вошла своей тяжелой походкой, ступая на пятки, мужчины и m lle Bourienne приподнялись, и маленькая княгиня, указывая на нее мужчинам, сказала: Voila Marie! [Вот Мари!] Княжна Марья видела всех и подробно видела. Она видела лицо князя Василья, на мгновенье серьезно остановившееся при виде княжны и тотчас же улыбнувшееся, и лицо маленькой княгини, читавшей с любопытством на лицах гостей впечатление, которое произведет на них Marie. Она видела и m lle Bourienne с ее лентой и красивым лицом и оживленным, как никогда, взглядом, устремленным на него; но она не могла видеть его, она видела только что то большое, яркое и прекрасное, подвинувшееся к ней, когда она вошла в комнату. Сначала к ней подошел князь Василий, и она поцеловала плешивую голову, наклонившуюся над ее рукою, и отвечала на его слова, что она, напротив, очень хорошо помнит его. Потом к ней подошел Анатоль. Она всё еще не видала его. Она только почувствовала нежную руку, твердо взявшую ее, и чуть дотронулась до белого лба, над которым были припомажены прекрасные русые волосы. Когда она взглянула на него, красота его поразила ее. Анатопь, заложив большой палец правой руки за застегнутую пуговицу мундира, с выгнутой вперед грудью, а назад – спиною, покачивая одной отставленной ногой и слегка склонив голову, молча, весело глядел на княжну, видимо совершенно о ней не думая. Анатоль был не находчив, не быстр и не красноречив в разговорах, но у него зато была драгоценная для света способность спокойствия и ничем не изменяемая уверенность. Замолчи при первом знакомстве несамоуверенный человек и выкажи сознание неприличности этого молчания и желание найти что нибудь, и будет нехорошо; но Анатоль молчал, покачивал ногой, весело наблюдая прическу княжны. Видно было, что он так спокойно мог молчать очень долго. «Ежели кому неловко это молчание, так разговаривайте, а мне не хочется», как будто говорил его вид. Кроме того в обращении с женщинами у Анатоля была та манера, которая более всего внушает в женщинах любопытство, страх и даже любовь, – манера презрительного сознания своего превосходства. Как будто он говорил им своим видом: «Знаю вас, знаю, да что с вами возиться? А уж вы бы рады!» Может быть, что он этого не думал, встречаясь с женщинами (и даже вероятно, что нет, потому что он вообще мало думал), но такой у него был вид и такая манера. Княжна почувствовала это и, как будто желая ему показать, что она и не смеет думать об том, чтобы занять его, обратилась к старому князю. Разговор шел общий и оживленный, благодаря голоску и губке с усиками, поднимавшейся над белыми зубами маленькой княгини. Она встретила князя Василья с тем приемом шуточки, который часто употребляется болтливо веселыми людьми и который состоит в том, что между человеком, с которым так обращаются, и собой предполагают какие то давно установившиеся шуточки и веселые, отчасти не всем известные, забавные воспоминания, тогда как никаких таких воспоминаний нет, как их и не было между маленькой княгиней и князем Васильем. Князь Василий охотно поддался этому тону; маленькая княгиня вовлекла в это воспоминание никогда не бывших смешных происшествий и Анатоля, которого она почти не знала. M lle Bourienne тоже разделяла эти общие воспоминания, и даже княжна Марья с удовольствием почувствовала и себя втянутою в это веселое воспоминание.
– Вот, по крайней мере, мы вами теперь вполне воспользуемся, милый князь, – говорила маленькая княгиня, разумеется по французски, князю Василью, – это не так, как на наших вечерах у Annette, где вы всегда убежите; помните cette chere Annette? [милую Аннет?]
– А, да вы мне не подите говорить про политику, как Annette!
– А наш чайный столик?
– О, да!
– Отчего вы никогда не бывали у Annette? – спросила маленькая княгиня у Анатоля. – А я знаю, знаю, – сказала она, подмигнув, – ваш брат Ипполит мне рассказывал про ваши дела. – О! – Она погрозила ему пальчиком. – Еще в Париже ваши проказы знаю!
– А он, Ипполит, тебе не говорил? – сказал князь Василий (обращаясь к сыну и схватив за руку княгиню, как будто она хотела убежать, а он едва успел удержать ее), – а он тебе не говорил, как он сам, Ипполит, иссыхал по милой княгине и как она le mettait a la porte? [выгнала его из дома?]
– Oh! C'est la perle des femmes, princesse! [Ах! это перл женщин, княжна!] – обратился он к княжне.
С своей стороны m lle Bourienne не упустила случая при слове Париж вступить тоже в общий разговор воспоминаний. Она позволила себе спросить, давно ли Анатоль оставил Париж, и как понравился ему этот город. Анатоль весьма охотно отвечал француженке и, улыбаясь, глядя на нее, разговаривал с нею про ее отечество. Увидав хорошенькую Bourienne, Анатоль решил, что и здесь, в Лысых Горах, будет нескучно. «Очень недурна! – думал он, оглядывая ее, – очень недурна эта demoiselle de compagn. [компаньонка.] Надеюсь, что она возьмет ее с собой, когда выйдет за меня, – подумал он, – la petite est gentille». [малютка – мила.]