Проблема высоких каблуков в играх
- суббота, 10 мая 2025 г. в 00:00:15
В этой статье мы поговорим о том, как разные типы обуви могут влиять на разработку игр, и покажем примеры того, как разработчики игр решают эти проблемы на практике.
Но прежде чем приступить, давайте посмотрим, что можно делать на каблуках:
Вот небольшая таблица на случай, если я запутаюсь в терминологии:
Из-за разных размеров тел персонажей разработчикам игр приходится выполнять кучу дополнительной работы. Вот отличный пример из Dragons Dogma 2, в котором персонажам с разным размером тел удаётся поцеловаться:
Источники: прохождения Dragons Dogma 2 (1 и 2)
Теперь мы можем посмотреть, как модифицировались анимации, чтобы губы могли соединиться. Большую работу проделывает и камера:
Источник: прохождения Dragons Dogma 2 (1 и 2)
Но даже если все персонажи имеют одинаковый рост, на него может влиять и разная обувь! Из-за этого возникают новые положения костей, поэтому, например, палец больше не попадает по кнопке на стене.
Источник: Romero из Mixamo
Наряду с точными взаимодействиями, могут существовать и другие особые случаи, в которых каблуки способны вызывать проблемы: например, персонажа не должно быть видно за укрытием из-за каблуков:
Источник: Romero Mixamo
Если рост персонажа меняется, то может также понадобиться обновление его объёмов определения коллизий, особенно в соревновательных играх. Это зависит от того, как движок обрабатывает такие объёмы. Лучше всё перепроверить дважды!
У разработчиков здесь возникает дилемма. Подходящий вариант нужно выбирать с умом.
Давайте сначала поговорим о первом варианте, то есть о корректном и реалистичном изменении роста!
Существует три способа работы с последствиями разных высот обуви персонажей:
Надеяться на лучшее
Исправлять вручную
Исправлять динамически
Некоторые игры могут позволить себе изменения роста персонажей, потому что в них очень мало точных взаимодействий с NPC и окружениями. Например, когда я играл в Infinity Nikki, то для анимаций в основном было не важно, выше или ниже Никки на десять сантиметров (например, при открытии сундука):
Источник: Infinity Nikki
И не могу припомнить ни одного точного взаимодействия в катсценах (например, рукопожатий). То есть поднятие тела не создаёт особых проблем:
Источник: Infinity Nikki
Однако одно исключение есть: я заметил ситуацию, в которой есть близкое взаимодействие: поглаживание. Для этого есть два наряда, с каблуками и без них:
Источник: Infinity Nikki
Кажется, если очень сильно приглядеться, заметна небольшая проблема усечения в анимации с каблуками. Впрочем, это может быть вызвано разным рельефом. Точно я не уверен, но это совершенно точно не такая большая проблема.
Saints Row — это ещё одна игра, корректно меняющая рост персонажа. Это единственная из найденных мной игр, где каблуки могут носить мужские персонажи.
Источник: Saints Row
Дополнение:
Lady Estradiol объяснила мне в комментариях, что в FFXIV носить высокие каблуки могут все.
Также мне сообщили, что в Movie Star Planet 2 (2D-игре про одежду) тоже есть возможность надевать обувь с каблуком на любых персонажей.
А Noe показал мне пример особого случая: если модель носит только умеренно высокие каблуки или прикрывающую лодыжки обувь на плоской подошве (не кроссовки и не босиком), то такая методика не требует изменений в ступнях/ногах при смене обуви:
Ступня всегда находится в позиции с высоким каблуком, а обувь с плоской подошвой прикрывает достаточный объём, чтобы скрыть этот маленький секрет.
Если в игре это нужно, аниматоры могут создавать уникальные анимации (под каждый тип обуви), в которых, например, корректируются положения рук. Наверно, они в восторге от этого.
stand_groom_barefoot.fbx
stand_groom_shoe_5cm.fbx
stand_groom_shoe_12cm.fbx
Но будьте внимательны! Если адаптируются не все анимации, это может привести к проблемам. Здесь, например, похоже, что конкретная анимация игры в гольф доступна только для обуви с плоской подошвой:
Источник: GTA Online
То же происходит с анимацией пьющего персонажа (справа), которая, похоже, доступна только с плоскими подошвами. Когда дело касается каблуков, нужно также уделять внимание особым случаям, например, езде на мотоцикле:
Посмотрим, что происходит: при надевании высоких каблуков ноги должны находиться в другой позе (справа). В противном случае это выглядит смешно (слева):
Кстати, то же самое поведение можно заметить в Nikki в единственном кадре, когда заменяется обувь. Меш обуви меняется за один кадр до изменения позы:
Источник: Infinity Nikki
Для ручной настройки требуется много труда! Можно ли как-то его автоматизировать? Например, если в игре есть механика держания за руки и вам пришлось бы создавать кучи анимаций, чтобы руки персонажей с разной высотой обуви точно совпадали, то это было бы настоящим кошмаром.
Источник: Hand Holding Mechanics
На помощь приходит инверсная кинематика!
В современных движках есть системы инверсной кинематики реального времени. Большинству игроков они уже известны, потому что эти системы адаптируют ориентацию ног к рельефу:
Источник: Infinity Nikki
Такие системы можно использовать и для процедурных анимаций взаимодействия с окружением, например, для касания стены, мимо которой проходит персонаж:
Источник: iHeartGameDev | Uncharted
Или же, что особенно восхитительно, для динамического изменения положения рук в направлении цели, чтобы персонаж мог иметь разную высоту и/или цель могла находиться на динамической высоте на уровне:
Источник: Unreal Content Examples: IK Rig
Но будьте аккуратны, если цель инверсной кинематики (IK) используется некорректно, то анимации могут оказаться довольно эротичными. Помните об этом!
Не хотите вручную изменять все анимации или использовать динамическую систему? Без проблем! Давайте рассмотрим разные методики, позволяющие персонажам надевать высокие каблуки, без изменения их роста и не решая перечисленные выше проблемы.
Здесь у нас тоже есть три варианта:
Прятать
Укорачивать
Изгибать
Если обувь позволяет это сделать, можно «спрятать» стопы в подошвы. Из-за этого нога будет казаться короче (как и в разделе ниже), зато не требуется вносить изменения ни в ноги, ни в обувь:
В своём исследовании я встречал это решение очень часто: голень просто укорачивается, чтобы рост персонажа не менялся.
Вот пример из Sims 4. Как видите, длина бёдер остаётся такой же, их положение не меняется, а голень укорачивается (угол поднимается вверх):
Источник: Sims 4
Ещё один пример с сидящим персонажем:
Источник: Sims 4
То же самое происходит в Watchdog Legions. Однако здесь немного меняется форма голени, потому что она немного сжимается:
Источник: Watchdog Legions
И ещё один пример, на этот раз из Cyberpunk:
Источник: Cyberpunk 2077
В обычном случае геометрия ноги должна меняться на другую. Теоретически также можно использовать blend shape, но они вычислительно затратны.
Важно: меняется только меш, но не скелет. Это значит, что лодыжка, на которой поворачивается нога, по-прежнему будет находиться в той же позиции:
Это может приводить к сильным визуальным искажениям, например, как в Final Fantasy 14:
При ношении высоких каблуков лодыжка должна находиться в этой точке. Разумеется, в Nier можно не менять обувь на плоскую подошву, чтобы она идеально соответствовала скелету:
Вот хороший пример того, что синхронизованный рост персонажей очень важен (иначе бы губы не соединились при поцелуе), но вместо укорачивания голени она просто немного изгибается:
Источник: 3D Sex Villa 2
Если вы хотите сделать всё правильно, то недостаточно приподнять бёдра и повернуть ступни в позицию «высокий каблук». Согласно паре статей, должна меняться и поза целиком! Главные отличия:
перераспределение веса тела
наклонённый вперёд таз, лёгкий изгиб позвоночника
напряжённые икроножные мышцы
подчёркнутая кривая ягодиц
Я попробовал адаптировать это к моему зомби, сделав следующее (впрочем, я отказался от использования blended shape для более округлых ягодиц):
Поднял бёдра
Повернул ступни (чтобы они снова касались пола)
Перераспределил вес тела, повернув таз и изогнув позвоночник
Источник: Romero Mixamo
Потом я провёл тест с анимацией ходьбы. Я добавил своё изменение осанки как аддитивное в анимацию ходьбы Mixamo, и это сработало! Оцените моего сексуального зомби.
Источник: IV Pole Walking Mixamo
Примечание 1: я заметил в Cyberpunk небольшую деталь — при смене обуви можно заметить, как меняется поза ступни:
Источник: Cyberpunk 2077
Примечание 2: если вы хотите полной точности, то нужно будет поменять и ориентацию большого пальца, потому что часто он неестественно прижимается внутри обуви:
Источник: Foot in High Heel Turntable
Наряду с ростом и осанкой вам может также понадобиться поменять всю анимацию, потому что высокие каблуки могут существенно менять походку:
В статье даже приводятся небольшие графики, демонстрирующие изменения. Авторы провели анализ захвата движений двенадцати женщин:
И так возникает ещё одна дилемма для разработчиков игр!
Если вы решите снова использовать анимации с плоской подошвой, то пусть это вас не беспокоит! На то есть две причины:
Другие разработчики поступают так же
Даже на высоких каблуках возможна «обычная» походка
В большинстве игр просто используются те же анимации. Единственный пример, который я смог найти со специализированными анимациями — это МОД для Skyrim! Здесь анимация ходьбы на высоких каблуках приводит к ходьбе крест-накрест и более выраженному движению бёдер:
Источник: Conditional High Heel Walk
И да, такую походку действительно можно наблюдать в реальной жизни:
Источник: Who says men not walk in heels
Но…
Такая походка с перекрещиванием ног возможна и в обуви на плоской подошве (слева), а на высоких каблуках возможно умеренное перекрещивание (в центре) и полное отсутствие перекрещивания (справа):
Источник: Shutterstock
То есть даже если персонаж надевает высокие каблуки, это не значит, что ноги автоматически будут перекрещиваться, а бёдра изгибаться. Но если вам это нужно, а в вашей игре есть «только» обувь с плоской подошвой, то такую походку всё равно можно реализовать. Возможно всё!
Кстати, даже у Никки нет уникальных анимаций на каждый вид обуви, а ведь эта игра полностью посвящена нарядам и стилю:
Источник: Infinity Nikki
Однако в игре есть различные анимации ожидания. Я насчитал четыре, зависящих от надетой обуви. На мой взгляд, это приличное число:
Источник: Infinity Nikki
Что происходит с полигонами ноги, когда они закрыты обувью? Правильная обработка может предотвратить усечение; к тому это хорошая оптимизация.
Вот, чего мы стремимся избежать:
Некоторые игры прячут полигоны в обувь. В Saints Row ноги состоят из отдельных частей и при необходимости могут скрываться:
Источник: Saints Row
Ещё один интересный пример — это Watchdogs:
Слева: нога целиком — это один вызов отрисовки, и она присутствует полностью (пальцы на месте, хоть и скрыты в обуви)
Справа: то же место, только обувь с плоской подошвой. Теперь нога состоит из нескольких мешей (то есть вызовов отрисовки). Не знаю, почему так, ведь в обоих видах обуви виден одно и то же количество кожи. Странно... Но в этом случае пальцы убираются оптимизацией!
Источник: Watchdog Legions
Вот статическое сравнение того, как игра обрабатывает снижение количества полигонов:
Высокие каблуки: используется вся нога (с пальцами).
Плоская подошва: нога состоит из нескольких частей; пальцы удалены.
Ботинки: нога состоит из множества частей; голень удалена.
А что в Cyberpunk? Разработчики оставили ногу целиком, даже если ботинки высокие и закрывают большую её часть!
Источник: Cyberpunk 2077
Если обувь на шпильках, то шаги должны звучать иначе. То же самое справедливо, если персонаж не носит обувь (идёт босиком). Cyberpunk хорошо с этим справилась:
Источник: Cyberpunk 2077
Если вы играете в конкурентную игру, то высокие каблуки могут легче выдать позицию игрока, потому что обычно они громче. Это может стать проблемой при поиске баланса!
Итак, вы уже встроили высокие каблуки в свою игру, всё работает идеально, и вам стало скучно. Вот вам ещё несколько заданий:
Реализуйте симуляцию мышц в реальном времени, чтобы имитировать это: «высокие каблуки также вызывают напряжение икроножных мышц и выделяют кривую ягодиц […]».
Если вы создаёте симуляцию жизни, в которой люди могут получать травмы, то можете реализовать долговременные побочные эффекты ношения высоких каблуков: разрушение суставов, укорачивание икроножных мышц, уплотнение нервной ткани и многое другое (видео). В Dwarf Fortress уже есть симуляция этого?
Реализовать утопание обуви в земле, зависящее от типа каблука и почвы:
Источник: Ultimate Heel Guards for Walking on Grass
Реализовать повышенный радиус и урон для бойцов на каблуках, но также добавить вероятность 5% того, что они поскользнутся и потребуется долгое время, чтобы восстановиться:
Поддержка разных типов обуви может менять рост и положение стоп персонажа (и, возможно, размеры объёма коллизий).
Если требуется точное взаимодействие с окружением или NPC, то придётся решать проблему смены роста (уникальные анимации, системы IK) или использовать обходные пути (укорачивание голеней, изогнутые ноги)
Разные типы обуви влияют также на осанку, походку и звук шагов (последнее может вызывать проблемы с балансом в соревновательных играх).
Во многих играх используется одна и та же анимация для всех типов обуви (но особые случаи, например, езда на мотоцикле или подкрадывание на высоких каблуках, могут потребовать дополнительного внимания).
Иногда закрытые обувью полигоны удаляются ради оптимизации (что также может предотвратить усечение). Обычно меши просто заменяются, потому что blend shapes слишком затратны.
Изящная походка (ноги крест-накрест, выраженные движения бёдер) возможна и в обуви с плоской подошвой, как и «обычная» походка возможна на высоких каблуках.
Высокие каблуки начали носить мужчины, а потом за ними последовали женщины — «это стало их попыткой маскулинизации одежды».
The Impact of High Heels on Walking https://www.oceansidepodiatrist.com/blog/item/1212-the-impact-of-high-heels-on-walking
Wearing high heels – Scholl Biomechanics https://youtu.be/xlnmvALaMZg
The influence of high heeled shoes on balance ability and walking in healthy women https://pmc.ncbi.nlm.nih.gov/articles/PMC6047962/
Human Gait Analysis using 3D Motion Capture http://dyros.snu.ac.kr/project/human-gait-analysis-using-3d-motion-capture/?ckattempt=1
Walking in High Heels: The Physics Behind the Physique https://illumin.usc.edu/walking-in-high-heels-the-physics-behind-the-physique/
Platinum Blog Near Automata https://www.platinumgames.com/official-blog/article/8997
Walking in high-heel shoes induces redistribution of joint power and work https://pmc.ncbi.nlm.nih.gov/articles/PMC10291901/
https://www.shutterstock.com/video/search/woman-walk-side-view-heels
Anatomy for Sculptors https://www.artstation.com/artwork/Vy3dXn
SKAMotion 3D walk cycles https://www.youtube.com/@SKAmotion/videos
Rapa Motion Female Heels (Motion Capture Animations for Unreal Engine) https://youtu.be/RJWVI_6cgJU
Blender rigging heels https://www.youtube.com/watch?v=bV2jn57oJ4c
Heel rigging in 60s https://www.youtube.com/watch?v=voYM3yyeZP4
Royal skies rigging https://www.youtube.com/@TheRoyalSkies/videos
How to Use Mixamo Animations in Blender 4.2 https://youtu.be/F25_c-Q0_Qw
Maya Reverse Footroll Rigging https://www.artstation.com/blogs/dcbittorf/2ZYN/rigging-a-foot-roll-in-maya-using-a-reverse-foot
unity heel flat transform https://www.youtube.com/shorts/tLZ0cRhAjeM
Final IK: Interaction System (grabbing objects) https://youtu.be/RdSfLkFHTWM
Learn Procedural Animation in Unity https://youtu.be/cg_vXWPaG8A
How to handle high heel footwear in Unity characters/rigs? https://discussions.unity.com/t/how-to-handle-high-heel-footwear-in-unity-characters-rigs/59685
UE5 – Fix High Heels – TPS Template https://youtu.be/a58-dactGuU
Feet IK Improvement with ControlRig https://youtu.be/Yho2BOrBnQs
High Heels and flat feet help https://forums.unrealengine.com/t/high-heels-and-flat-feet-help/147715/5
How to adapt High Heel shoe in Metahuman? https://forums.unrealengine.com/t/how-to-adapt-high-heel-shoe-in-metahuman/650189
heels on meta human https://forums.unrealengine.com/t/attaching-high-heels-to-metahuman-resolved/1190673/5
How to add custom clothing onto Metahumans in Unreal Engine using Blender https://youtu.be/3_b60jkuDMY
Daz To Unreal – Dealing with Heels https://davidvodhanel.com/daz-to-unreal-dealing-with-heels/
Unreal Engine 5.5: Hand Holding Mechanics https://youtu.be/x8I2Xi8bRL8
Unreal Engine 4 Tutorial – Hands IK https://youtu.be/xsvvA042l98
Unreal Engine IK Rig Example Setup https://dev.epicgames.com/documentation/en-us/unreal-engine/ik-rig-in-unreal-engine
Женская/мужская походка на каблуках: https://www.youtube.com/shorts/2DriKlNOJcc
Танец на каблуках: https://www.youtube.com/shorts/-ymWhRhoQ2o
Прыжок на очень высоких каблуках: https://www.youtube.com/shorts/L-rvdMHA9ec
Высокие каблуки: https://www.youtube.com/shorts/79n-62kQttA
Бой на каблуках: https://www.tiktok.com/@blumineck/video/7282440261223992609
Удары ногами на каблуках: https://youtube.com/shorts/aj81fNQFYH0?si=aMkDqtuLvbueOWib
Обувь со съёмным каблуком: https://www.youtube.com/shorts/1pHgqF5M-74