[Перевод] Проблема высоких каблуков в играх

Введение

В этой статье мы поговорим о том, как разные типы обуви могут влиять на разработку игр, и покажем примеры того, как разработчики игр решают эти проблемы на практике.

Но прежде чем приступить, давайте посмотрим, что можно делать на каблуках:

Источники:  1,  2,  3,  4,  5

Вот небольшая таблица на случай, если я запутаюсь в терминологии:

Рост персонажа

Проблема

Из-за разных размеров тел персонажей разработчикам игр приходится выполнять кучу дополнительной работы. Вот отличный пример из Dragons Dogma 2, в котором персонажам с разным размером тел удаётся поцеловаться:

Источники: прохождения Dragons Dogma 2 (1 и 2)

Теперь мы можем посмотреть, как модифицировались анимации, чтобы губы могли соединиться. Большую работу проделывает и камера:

Источник: прохождения Dragons Dogma 2 (1 и 2)

Но даже если все персонажи имеют одинаковый рост, на него может влиять и разная обувь! Из-за этого возникают новые положения костей, поэтому, например, палец больше не попадает по кнопке на стене.

Источник:  Romero из Mixamo

Наряду с точными взаимодействиями, могут существовать и другие особые случаи, в которых каблуки способны вызывать проблемы: например, персонажа не должно быть видно за укрытием из-за каблуков:

Источник:  Romero Mixamo

Если рост персонажа меняется, то может также понадобиться обновление его объёмов определения коллизий, особенно в соревновательных играх. Это зависит от того, как движок обрабатывает такие объёмы. Лучше всё перепроверить дважды!

У разработчиков здесь возникает дилемма. Подходящий вариант нужно выбирать с умом.

Изменять рост или найти обходное решение?
Изменять рост или найти обходное решение?

Давайте сначала поговорим о первом варианте, то есть о корректном и реалистичном изменении роста!

 Решение А: «менять рост»

Существует три способа работы с последствиями разных высот обуви персонажей:

  1. Надеяться на лучшее

  2. Исправлять вручную

  3. Исправлять динамически

 1. Надеяться на лучшее

Некоторые игры могут позволить себе изменения роста персонажей, потому что в них очень мало точных взаимодействий с NPC и окружениями. Например, когда я играл в Infinity Nikki, то для анимаций в основном было не важно, выше или ниже Никки на десять сантиметров (например, при открытии сундука):

Источник:  Infinity Nikki

И не могу припомнить ни одного точного взаимодействия в катсценах (например, рукопожатий). То есть поднятие тела не создаёт особых проблем:

Источник:  Infinity Nikki

Однако одно исключение есть: я заметил ситуацию, в которой есть близкое взаимодействие: поглаживание. Для этого есть два наряда, с каблуками и без них:

Источник:  Infinity Nikki

Кажется, если очень сильно приглядеться, заметна небольшая проблема усечения в анимации с каблуками. Впрочем, это может быть вызвано разным рельефом. Точно я не уверен, но это совершенно точно не такая большая проблема.

112641e64475cbbf0c286f8ff5f3155d.jpeg

Saints Row — это ещё одна игра, корректно меняющая рост персонажа. Это единственная из найденных мной игр, где каблуки могут носить мужские персонажи.

Источник:  Saints Row

Дополнение:

Lady Estradiol объяснила мне в комментариях, что в FFXIV носить высокие каблуки могут все.

Source: FFXIV
Источник:  FFXIV
Source: FFXIV
Источник:  FFXIV

Также мне сообщили, что в Movie Star Planet 2 (2D-игре про одежду) тоже есть возможность надевать обувь с каблуком на любых персонажей.

А Noe показал мне пример особого случая: если модель носит только умеренно высокие каблуки или прикрывающую лодыжки обувь на плоской подошве (не кроссовки и не босиком), то такая методика не требует изменений в ступнях/ногах при смене обуви:

Source: Noe on BlueskySource: Noe on Bluesky

Ступня всегда находится в позиции с высоким каблуком, а обувь с плоской подошвой прикрывает достаточный объём, чтобы скрыть этот маленький секрет.

 2. Ручной труд

Если в игре это нужно, аниматоры могут создавать уникальные анимации (под каждый тип обуви), в которых, например, корректируются положения рук. Наверно, они в восторге от этого.

stand_groom_barefoot.fbx
stand_groom_shoe_5cm.fbx
stand_groom_shoe_12cm.fbx

Но будьте внимательны! Если адаптируются не все анимации, это может привести к проблемам. Здесь, например, похоже, что конкретная анимация игры в гольф доступна только для обуви с плоской подошвой:

Источник:  GTA Online

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

Посмотрим, что происходит: при надевании высоких каблуков ноги должны находиться в другой позе (справа). В противном случае это выглядит смешно (слева):

Источник: CGarchitect
Источник:  CGarchitect

Кстати, то же самое поведение можно заметить в Nikki в единственном кадре, когда заменяется обувь. Меш обуви меняется за один кадр до изменения позы:

Источник:  Infinity Nikki

 3. Динамическое изменение

Для ручной настройки требуется много труда! Можно ли как-то его автоматизировать? Например, если в игре есть механика держания за руки и вам пришлось бы создавать кучи анимаций, чтобы руки персонажей с разной высотой обуви точно совпадали, то это было бы настоящим кошмаром.

Источник:  Hand Holding Mechanics

На помощь приходит инверсная кинематика!

В современных движках есть системы инверсной кинематики реального времени. Большинству игроков они уже известны, потому что эти системы адаптируют ориентацию ног к рельефу:

Источник:  Infinity Nikki

Такие системы можно использовать и для процедурных анимаций взаимодействия с окружением, например, для касания стены, мимо которой проходит персонаж:

Источник:  iHeartGameDev | Uncharted

Или же, что особенно восхитительно, для динамического изменения положения рук в направлении цели, чтобы персонаж мог иметь разную высоту и/или цель могла находиться на динамической высоте на уровне:

Источник: Unreal Content Examples: IK Rig

Но будьте аккуратны, если цель инверсной кинематики (IK) используется некорректно, то анимации могут оказаться довольно эротичными. Помните об этом!

Решение Б: «пойти в обход»

Не хотите вручную изменять все анимации или использовать динамическую систему? Без проблем! Давайте рассмотрим разные методики, позволяющие персонажам надевать высокие каблуки, без изменения их роста и не решая перечисленные выше проблемы.

Здесь у нас тоже есть три варианта:

  1. Прятать

  2. Укорачивать

  3. Изгибать

 1. Прятать

Если обувь позволяет это сделать, можно «спрятать» стопы в подошвы. Из-за этого нога будет казаться короче (как и в разделе ниже), зато не требуется вносить изменения ни в ноги, ни в обувь:

 2. Укорачивать

В своём исследовании я встречал это решение очень часто: голень просто укорачивается, чтобы рост персонажа не менялся.

Вот пример из Sims 4. Как видите, длина бёдер остаётся такой же, их положение не меняется, а голень укорачивается (угол поднимается вверх):

Источник:  Sims 4

Ещё один пример с сидящим персонажем:

Источник:  Sims 4

То же самое происходит в Watchdog Legions. Однако здесь немного меняется форма голени, потому что она немного сжимается:

Источник:  Watchdog Legions

И ещё один пример, на этот раз из Cyberpunk:

Источник:  Cyberpunk 2077

В обычном случае геометрия ноги должна меняться на другую. Теоретически также можно использовать blend shape, но они вычислительно затратны.

Важно: меняется только меш, но не скелет. Это значит, что лодыжка, на которой поворачивается нога, по-прежнему будет находиться в той же позиции:

Это может приводить к сильным визуальным искажениям, например, как в Final Fantasy 14:

Source: Reddit Discussion
Source:  Reddit Discussion

При ношении высоких каблуков лодыжка должна находиться в этой точке. Разумеется, в Nier можно не менять обувь на плоскую подошву, чтобы она идеально соответствовала скелету:

Source: Platinum Games Blog
Source:  Platinum Games Blog

 3. Изгибать

Вот хороший пример того, что синхронизованный рост персонажей очень важен (иначе бы губы не соединились при поцелуе), но вместо укорачивания голени она просто немного изгибается:

Источник:  3D Sex Villa 2

Осанка

Если вы хотите сделать всё правильно, то недостаточно приподнять бёдра и повернуть ступни в позицию «высокий каблук». Согласно паре статей, должна меняться и поза целиком! Главные отличия:

  • перераспределение веса тела

  • наклонённый вперёд таз, лёгкий изгиб позвоночника

  • напряжённые икроножные мышцы

  • подчёркнутая кривая ягодиц

Источник: Why Shoes Make
Источник:  Why Shoes Make«Normal» Gait Impossible

Я попробовал адаптировать это к моему зомби, сделав следующее (впрочем, я отказался от использования blended shape для более округлых ягодиц):

  • Поднял бёдра

  • Повернул ступни (чтобы они снова касались пола)

  • Перераспределил вес тела, повернув таз и изогнув позвоночник

Источник:  Romero Mixamo

Потом я провёл тест с анимацией ходьбы. Я добавил своё изменение осанки как аддитивное в анимацию ходьбы Mixamo, и это сработало! Оцените моего сексуального зомби.

Источник:  IV Pole WalkingMixamo

Примечание 1: я заметил в Cyberpunk небольшую деталь — при смене обуви можно заметить, как меняется поза ступни:

Источник:  Cyberpunk 2077

Примечание 2: если вы хотите полной точности, то нужно будет поменять и ориентацию большого пальца, потому что часто он неестественно прижимается внутри обуви:

Источник:  Foot in High Heel Turntable

Анимация

Наряду с ростом и осанкой вам может также понадобиться поменять всю анимацию, потому что высокие каблуки могут существенно менять походку:

«Высокие каблуки стимулируют к более коротким и точным шагам, приводя к более плавному и управляемую движению ходьбы.»

В статье даже приводятся небольшие графики, демонстрирующие изменения. Авторы провели анализ захвата движений двенадцати женщин:

Источник: Human Gait Analysis using 3D Motion Capture
Источник:  Human Gait Analysis using 3D Motion Capture

И так возникает ещё одна дилемма для разработчиков игр!

Повторно использовать анимации обуви с плоской подошвой или создавать уникальные?
Повторно использовать анимации обуви с плоской подошвой или создавать уникальные?

Если вы решите снова использовать анимации с плоской подошвой, то пусть это вас не беспокоит! На то есть две причины:

  1. Другие разработчики поступают так же

  2. Даже на высоких каблуках возможна «обычная» походка

1. Другие разработчики поступают так же

В большинстве игр просто используются те же анимации. Единственный пример, который я смог найти со специализированными анимациями — это МОД для Skyrim! Здесь анимация ходьбы на высоких каблуках приводит к ходьбе крест-накрест и более выраженному движению бёдер:

Источник:  Conditional High Heel Walk

И да, такую походку действительно можно наблюдать в реальной жизни:

Источник:  Who says men not walk in heels

Но…

 2. «Обычная» походка на высоких каблуках

Такая походка с перекрещиванием ног возможна и в обуви на плоской подошве (слева), а на высоких каблуках возможно умеренное перекрещивание (в центре) и полное отсутствие перекрещивания (справа):

Источник:  Shutterstock

То есть даже если персонаж надевает высокие каблуки, это не значит, что ноги автоматически будут перекрещиваться, а бёдра изгибаться. Но если вам это нужно, а в вашей игре есть «только» обувь с плоской подошвой, то такую походку всё равно можно реализовать. Возможно всё!

Кстати, даже у Никки нет уникальных анимаций на каждый вид обуви, а ведь эта игра полностью посвящена нарядам и стилю:

Источник:  Infinity Nikki

Однако в игре есть различные анимации ожидания. Я насчитал четыре, зависящих от надетой обуви. На мой взгляд, это приличное число:

Источник:  Infinity Nikki

Оптимизация

Что происходит с полигонами ноги, когда они закрыты обувью? Правильная обработка может предотвратить усечение; к тому это хорошая оптимизация.

Вот, чего мы стремимся избежать:

Источник: Daz To Unreal – Dealing with Heels
Источник:  Daz To Unreal — Dealing with Heels

Некоторые игры прячут полигоны в обувь. В Saints Row ноги состоят из отдельных частей и при необходимости могут скрываться:

Источник:  Saints Row

Ещё один интересный пример — это Watchdogs:

  • Слева: нога целиком — это один вызов отрисовки, и она присутствует полностью (пальцы на месте, хоть и скрыты в обуви)

  • Справа: то же место, только обувь с плоской подошвой. Теперь нога состоит из нескольких мешей (то есть вызовов отрисовки). Не знаю, почему так, ведь в обоих видах обуви виден одно и то же количество кожи. Странно… Но в этом случае пальцы убираются оптимизацией!

Источник:  Watchdog Legions

Вот статическое сравнение того, как игра обрабатывает снижение количества полигонов:

  • Высокие каблуки: используется вся нога (с пальцами).

  • Плоская подошва: нога состоит из нескольких частей; пальцы удалены.

  • Ботинки: нога состоит из множества частей; голень удалена.

Источник: Watchdog Legions
Источник:  Watchdog Legions

А что в Cyberpunk? Разработчики оставили ногу целиком, даже если ботинки высокие и закрывают большую её часть!

Источник:  Cyberpunk 2077

Звук

Если обувь на шпильках, то шаги должны звучать иначе. То же самое справедливо, если персонаж не носит обувь (идёт босиком). Cyberpunk хорошо с этим справилась:

Источник:  Cyberpunk 2077

Если вы играете в конкурентную игру, то высокие каблуки могут легче выдать позицию игрока, потому что обычно они громче. Это может стать проблемой при поиске баланса!

Дополнительная работа

Итак, вы уже встроили высокие каблуки в свою игру, всё работает идеально, и вам стало скучно. Вот вам ещё несколько заданий:

  • Реализуйте симуляцию мышц в реальном времени, чтобы имитировать это:  «высокие каблуки также вызывают напряжение икроножных мышц и выделяют кривую ягодиц […]».

  • Если вы создаёте симуляцию жизни, в которой люди могут получать травмы, то можете реализовать долговременные побочные эффекты ношения высоких каблуков: разрушение суставов, укорачивание икроножных мышц, уплотнение нервной ткани и многое другое (видео). В Dwarf Fortress уже есть симуляция этого?

  • Реализовать утопание обуви в земле, зависящее от типа каблука и почвы:

Источник:  Ultimate Heel Guards for Walking on Grass

  • Реализовать повышенный радиус и урон для бойцов на каблуках, но также добавить вероятность 5% того, что они поскользнутся и потребуется долгое время, чтобы восстановиться:

Источник:  1,  2

Подведём итог

  • Поддержка разных типов обуви может менять рост и положение стоп персонажа (и, возможно, размеры объёма коллизий).

  • Если требуется точное взаимодействие с окружением или NPC, то придётся решать проблему смены роста (уникальные анимации, системы IK) или использовать обходные пути (укорачивание голеней, изогнутые ноги)

  • Разные типы обуви влияют также на осанку, походку и звук шагов (последнее может вызывать проблемы с балансом в соревновательных играх).

  • Во многих играх используется одна и та же анимация для всех типов обуви (но особые случаи, например, езда на мотоцикле или подкрадывание на высоких каблуках, могут потребовать дополнительного внимания).

  • Иногда закрытые обувью полигоны удаляются ради оптимизации (что также может предотвратить усечение). Обычно меши просто заменяются, потому что blend shapes слишком затратны.

  • Изящная походка (ноги крест-накрест, выраженные движения бёдер) возможна и в обуви с плоской подошвой, как и «обычная» походка возможна на высоких каблуках.

Урок истории

Высокие каблуки начали носить мужчины, а потом за ними последовали женщины — «это стало их попыткой маскулинизации одежды».

493a18bb75dcfadb9974dc5b86b8b6d0.png

Источники

Статьи и исследования

  • 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

  • https://www.shutterstock.com/video/search/walk-side-view

  • 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

Туториалы и обсуждения

Общие вопросы

  • axyz women in heels and mocap

  • how do devs implement changeable footwear for female characters?

  • this is not how high heels work

  • Conant Exiles High Heel Modder Guide

Blender

  • 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

  • Maya Reverse Footroll Rigging https://www.artstation.com/blogs/dcbittorf/2ZYN/rigging-a-foot-roll-in-maya-using-a-reverse-foot

Unity

  • 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

Unreal

  • 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

Unreal Content Example Map: IK Rig
Unreal Content Example Map: IK Rig

Примеры ношения обуви

  • Женская/мужская походка на каблуках: 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

Влияние на здоровье

  • High Heels Change Your Bone Anatomy

  • What Can Happen to Your Body If You Wear High Heels Every Day

  • High Heeled Shoes: A Real Pain

  • Why Shoes Make «Normal» Gait Impossible

© Habrahabr.ru