Ragdoll-фізика
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Animatsragdollphysics.jpg/360px-Animatsragdollphysics.jpg)
Фізика Ragdoll (реґдо́л) — вид процедурної анімації, що прийшов на заміну статичній, пререндерній анімації. Назва походить від англійських слів rag (укр. ганчірка) і doll (укр. лялька), через що вкоренився вираз «ганчіркова лялька».
Розвиток
Найпростіші з'єднання (зчленування)
Два найпростіші з'єднання між двома фізичними тілами, використання яких є достатнім для симуляції фізики Ragdoll будь-якої складності.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Ball-socket_joint.png/300px-Ball-socket_joint.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Hinge_joint.png/300px-Hinge_joint.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Tokamak_ragdoll_1.png/300px-Tokamak_ragdoll_1.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/RagDoll_demo_OGRE_Newton_1.png/300px-RagDoll_demo_OGRE_Newton_1.png)
Ранні тривимірні комп'ютерні ігри використовували заздалегідь створену анімацію для відображення смерті персонажів. Для зображення вмираючого персонажа використовувався набір пререндерених анімацій, цей спосіб характеризується низькими витратами центрального процесора. Коли потужності комп'ютерів зросли, стало можливим створення симуляцій фізики у реальному часі з деякими обмеженнями. На даному етапі реґдол являв собою набір твердих тіл, кожне з яких відповідає кістці у системі скелетної анімації графічного рушія, зв'язаних разом за допомогою системи обмежень. Вона обумовлює на які кути кожне тіло може відхилятися від сусіднього, щоб зображення залишалося реалістичним.
Термін «ганчіркова лялька» з'явився через некоректну роботу системи зчленувань. У зв'язку з обмеженнями реалізації деякі суглоби моделі мали малу або відсутню жорсткість, що змушувало її падати подібно справжній ганчірковій ляльці, нерідко викликаючи комічний ефект безглуздістю пози, що вийшла.
Першою грою, що використовувала фізику 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-анімації перед традиційною є набагато правильніша взаємодія з навколишнім середовищем. Якщо спробувати створити анімацію на кожний можливий ігровий випадок, це займе дуже багато часу, а завдяки фізиці «ганчіркової ляльки» ігровий рушій може генерувати гранично точні сцени прямо на льоту.
Див. також
- Фізичний рушій
- Toribash
- Sumotori Dreams
- Регдол — порода котів
- Ragdoll Masters — 2D-файтинг на основі фізики ragdoll
Примітки
- ↑ U.S. Patent 6 067 096 «Method and system for generating realistic collisions in graphical simulations» (укр. «Методика й система створення реалістичних зіткнень в області симуляції графіки»)
- ↑ Physically Based Modeling: Principles and Practice. Proc. SIGGRAPH '97. SIGGRAPH 97. Los Angeles: Association for Computing Machinery Special Interest Group on Graphics. 1997. Архів оригіналу за 28 травня 2011. Процитовано 12 травня 2011.
- ↑ Просунута Фізика Персонажа [Архівовано 11 січня 2010 у Wayback Machine.] (англ. Advanced Character Physics), доповідь Томаса Якобсона на GDC’01
Посилання
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
Статті
- Postmortem: Trespasser від DreamWorks Interactive [Архівовано 25 лютого 2009 у Wayback Machine.]; журнал Game Developer, червень 1999 року
- Архів докладів [Архівовано 5 червня 2011 у Wayback Machine.] із GDC’01 на Gamasutra