Ragdoll-фізика

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Ранній приклад використання фізики Ragdoll, 1997 рік.

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

Розвиток[ред.ред. код]

Найпростіші з'єднання (зчленування)


Два найпростіші з'єднання між двома фізичними тілами, використання яких є достатнім для симуляції фізики Ragdoll будь-якої складності.
Кулькове з'єднання
Шарнірне (петельне) з'єднання
Демонстрація фізики Ragdoll з використанням фізичного рушія Tokamak. Цей реґдолл сконструйований з використанням комбінації шарнірних і кулькових зчленувань (з'єднань) з обмеженнями руху даних з'єднань. У цій демонстрації кілька реґдол-моделей котяться вниз по сходах.
Демонстрація фізики 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 (рушій)

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

Переваги й недоліки[ред.ред. код]

Оскільки прорахунок фізичних параметрів у реальному часі віднімає значну частину обчислювальної потужності процесора, багато ігор використовують спрощену структуру скелету «ганчіркової ляльки». Зокрема:

  • Кістки кінцівок, таких як пальці, зазвичай не анімуються;
  • Замість реальних допустимостей людського тіла використовуються спрощені суглоби (приміром, зображення людського коліна обмежене згинанням і розгинанням, хоча реальний колінний суглоб до деякої міри дозволяє повороти);
  • Спрощена модель зіткнень краще визначає взаємодія з іншими твердими тілами, ніж зіткнення з геометрією ігрового світу.

Основною ж перевагою ragdoll-анімації перед традиційною є набагато правильніша взаємодія з навколишнім середовищем. Якщо спробувати створити анімацію на кожний можливий ігровий випадок, це займе дуже багато часу, а завдяки фізиці «ганчіркової ляльки» ігровий рушій може генерувати гранично точні сцени прямо на льоту.

Див. також[ред.ред. код]

Примітки[ред.ред. код]

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

Посилання[ред.ред. код]


Статті[ред.ред. код]