💥 Рагдол Фізика (3D)

Інтеграція Верле · Обмеження відстані · Перетягуй та взаємодій · Обертай камеру

Управління

Перетягуйте будь-яку частину тіла для взаємодії.

Фізика

Статистика

Швидкість голови
Похибка зв'язку
Ітерацій солвера

🤸 Рагдол фізика — інтеграція Верле

2D-симуляція рагдола з використанням інтеграції Верле та обмежень відстані. Спостерігайте, як з'єднаний персонаж падає, відскакує від платформ та реагує на перетягування.

🔬 Що демонструє

Інтеграція Верле зберігає позицію та попередню позицію замість швидкості. Ітеративний вирішувач обмежень підтримує фіксовану довжину кісток та кутові ліміти суглобів. Результат — стабільний рагдол із мінімальним кодом.

🎮 Як використовувати

Натисніть і перетягуйте будь-яку частину тіла. Спостерігайте взаємодію з платформами та як обмеження відстані зберігають фіксовану довжину кінцівок при природній артикуляції суглобів.

💡 Чи знали ви?

Фізика рагдола на основі Верле була популяризована Томасом Якобсеном у 2001 році. Техніка досі використовується в сучасних іграх — Hitman, Gang Beasts та Happy Wheels.

Про фізику ганчір'яної ляльки

Ця симуляція моделює 2D-персонажа з шарнірами як 16 точкових мас, з'єднаних "паличками" фіксованої довжини. Вона використовує інтегрування Верле, де швидкість кожної точки задається різницею між її поточним і попереднім положеннями, а не зберігається явно: x ← x + (x − x_prev) × згасання + гравітація. Після кожного кроку інтегрування ітеративний розв'язувач повторно забезпечує дотримання кожного обмеження відстані, створюючи стабільний, природний рух кінцівок із дуже невеликого обсягу коду.

Повзунок Гравітація масштабує спрямоване вниз прискорення, що застосовується на кожному підкроці, Згасання знижує швидкість для стабільності, Ітерації обмежень задають, скільки разів розв'язувач проходить кожну паличку за кадр (більше проходів — жорсткіші кістки), а Пружність керує тим, скільки енергії зберігається після удару об стіну чи платформу. Перетягніть будь-який суглоб, щоб кинути фігуру, або натисніть Скинути, щоб з'явити її в повітрі. Ганчір'яні ляльки на основі Верле — основа фізики реального часу в іграх для персонажів, тканини й мотузок.

Поширені запитання

Що таке фізика ганчір'яної ляльки?

Фізика ганчір'яної ляльки — це техніка анімації тіла персонажа як системи з'єднаних жорстких сегментів, керованої фізичним розв'язувачем, а не заздалегідь записаною анімацією. Тут тіло складається з 16 суглобів (голова, шия, грудна клітка, стегно, дві руки й дві ноги), пов'язаних обмеженнями відстані, тож воно осідає й природно реагує на сили та зіткнення.

Що таке інтегрування Верле і чому воно тут використовується?

Інтегрування Верле просуває точку, використовуючи її поточне й попереднє положення замість явного вектора швидкості. Неявна швидкість — це просто (поточне − попереднє). Це робить його чисельно стабільним, енергоощадним і дуже зручним для розв'язання обмежень, адже можна переміщати точки безпосередньо, щоб задовольнити обмеження, а наступний крок автоматично враховує зміну неявної швидкості.

Як обмеження відстані утримують тіло разом?

Кожна "паличка" зберігає довжину спокою, виміряну під час побудови ляльки. На кожному проході розв'язувач вимірює поточну відстань між двома її кінцями й зсуває їх уздовж сполучної лінії так, щоб відстань повернулася до довжини спокою, розподіляючи корекцію порівну між незакріпленими точками. Повторення цього для всіх паличок багато разів за кадр утримує кістки жорсткими.

Що насправді змінюють чотири фізичні повзунки?

Гравітація масштабує спрямований вниз потяг на кожному підкроці (мітка показує 0–30, внутрішньо множиться на 0,04). Згасання (0,90–1,00) множить неявну швидкість на кожному кроці, тож менші значення швидше заспокоюють фігуру. Ітерації обмежень (2–20) задають, скільки проходів розв'язувача виконується за кадр, підвищуючи жорсткість кісток. Пружність (0–0,9) — це частка швидкості, що відбивається при ударі об стіну чи платформу.

Чому збільшення кількості ітерацій обмежень робить ляльку жорсткішою?

Один прохід обмежень лише частково коригує кожну кістку, а корекція однієї палички може порушити сусідню. Більша кількість ітерацій дозволяє розв'язувачу збігтися ближче до конфігурації, де всі обмеження відстані задовольняються одночасно. За малої кількості ітерацій тіло виглядає гумовим і розтяжним; за великої — поводиться як жорсткі кістки. Платою є більше обчислень на кадр.

Як лялька стикається із землею та платформами?

Кожна точка перевіряється відносно країв полотна й відносно прямокутних платформ після інтегрування. Якщо точка проникає крізь поверхню, її повертають до межі, а її попереднє положення коригують так, щоб неявна швидкість змінила напрямок і масштабувалася значенням Пружності. Така проста реакція на основі положень дає правдоподібне відскакування без повноцінної системи імпульсів зіткнення.

Яка роль підкроків і константи SUB?

Цикл виконує три підкроки на кожен показаний кадр. Розбиття кожного кадру на менші кроки інтегрування зменшує відстань, яку точки проходять між розв'язаннями обмежень, що поліпшує стабільність і не дає швидко рухомим кінцівкам проходити крізь стіни. Гравітація, що застосовується на підкроці, ділиться на кількість підкроків, тож загальне прискорення лишається сталим незалежно від кількості підкроків.

Що означають показники Stats?

Швидкість голови повідомляє величину неявної швидкості суглоба голови в пікселях за кадр, тож ви бачите, наскільки енергійним є рух. Похибка обмежень підсумовує абсолютне відхилення довжини по всіх паличках, вказуючи, наскільки далеко розв'язувач від ідеального розв'язку. Ітерації розв'язувача показують ітерації, помножені на підкроки, — загальну кількість проходів обмежень, застосованих за кадр.

Чи це фізично точно?

Це якісне наближення на основі положень, а не строга симуляція твердого тіла. Вона використовує довільні піксельні одиниці, ігнорує справжню масу, обертальну інерцію й тертя та розв'язує зіткнення прямим перепозиціонуванням. Поведінка переконливо природна й чудово підходить для навчання, але її не використовували б для інженерного аналізу, де сили, моменти й властивості матеріалів мають бути точними.

Де ця техніка використовується в реальному програмному забезпеченні?

Ганчір'яні ляльки на основі Верле лежать в основі фізики персонажів, тканини й мотузок реального часу в багатьох іграх, бо вони дешеві й стабільні. Підхід на основі положень, популяризований Томасом Якобсеном на GDC 2001, безпосередньо привів до сучасної Position Based Dynamics, яка тепер керує м'якими тілами, рідинами й одягом у ігрових рушіях та інструментах візуальних ефектів.