
Инструмент Chaos Cloth.
Unreal Engine использует Chaos Cloth solver — низкоуровневый солвер для ткани, отвечающий за симуляцию частиц, которые управляют тканью [8]. Данный солвер одежды позволяет легко и обширно вносить изменения в симуляцию, так как пользователь обладает более быстрым доступом к параметрам, по сравнению с другими солверами (при сравнении с тем же Houdini, например).

Epic Games | Алгоритм работы с Chaos Cloth
Данный алгоритм дает возможность создать объект один раз, а затем редактировать его прямо внутри программы. Такой подход существенно ускоряет создание и тестирование содержимого проекта, а также позволяет избежать лишних перемещений между местом создания объектов и местом их применения, так как пользователь отслеживает изменения в симуляции в режиме реального времени и в том виде, в котором они будут отображаться уже на рендере.
В данном исследовании применяется версия Unreal Engine 5.4.2, и алгоритм проведенной работы работает также для более поздних версий программы.
Подготовка анимированной модели персонажа и модели ткани.
В первую очередь создаем риг для тела героини в Mixamo и там же подбираем несколько анимаций для того, чтобы можно было протестировать симуляцию во время разных движений.
Платье поделено на группы с помощью сетапа из Houdini FX: группы созданы отдельно для юбки — наиболее активной части, для верха с рукавами, а также для пояса. Это обеспечит дополнительное удобство при прорисовке карты весов на будущих этапах.
Также сетка платья оптимизирована благодаря ноде Remesh и сглажена нодой Smooth во избежание вылетов программы UE. Важно следить за тем, чтобы подол платья не был слишком узким, его должно хватать хотя бы на длину одного шага, иначе возрастает риск нежелательных пересечений с анимированным телом.
Ульяна Ковалева | 2025 | Модель платья и скин героини
Важным нюансом является строгое соблюдение размеров объектов при импорте (геометрия тела и одежды должны соответствовать друг другу).
Готовую геометрию импортируем, перетащив файлы в Content Browser, либо кнопкой Import из списка, появляющегося при нажатии ПКМ в окне Content Browser. Анимацию импортируем аналогично.
Необходимые плагины.
Анастасия Тучина | 2025 | Плагины для работы с инструментом Chaos Cloth в Unreal Engine
Подключаем необходимые плагины Chaos Cloth и Chaos Solver, необходимые для работы системы. После проставления всех галочек, необходимо перезапустить программу.
Ассет ChaosCloth.
На основе импортированной геометрии одежды создается ассет, который является контейнером для физических свойств будущей ткани.
Нодовый Set-Up


Анастасия Тучина | 2025 | Вид импортированной модели одежды | Тело персонажа и анимация для превью симуляции
Изначально в Dataflow открывается готовый сетап, но он не будет использован, поэтому все ноды нужно удалить, чтобы можно было собрать свой собственный сетап.


Анастасия Тучина | 2025 | Импорт модели платья через StaticMeshImport
В первую очередь, необходимо импортировать модель одежды в Dataflow. Для этого применяется нода Static Mesh Import из категории Cloth. В Node Datails в качестве Static Mesh выбираем необходимый элемент одежды.


Анастасия Тучина | 2025 | Перенос весов с тела персонажа на элемент одежды
На следующем шаге осуществляется перенос карты весов со скина персонажа при помощи ноды Transfer Skin Weights, — благодаря этому возможен также и перенос анимации с персонажа на платье и более гибкая настройка симуляции на последующих этапах.


Анастасия Тучина | 2025 | Кнопка Add Weight Map и соответствующая нода
Если говорить о платье как о швейном изделии, то технически оно состоит из наиболее активной в плане симуляции части — юбки, плотно облегающей талию и соединяющейся с другим изделием — рубашкой с длинными рукавами.
Для того, чтобы выделить участки платья для их дальнейшей симуляции, используем кнопку Add Weight Map в верхнем левом углу.
Анастасия Тучина | 2025 | Прорисовка маски для симулируемых участков модели одежды


Анастасия Тучина | 2025 | Прорисовка карты весов | Начальный вариант карты весов
Теперь есть возможность выделить те части, где симуляция необходима, а также избежать нежелательной симуляции там, где предполагается более четкое следование анимации.
В окне настройки кисти очень важно дать название маске MaxDistance в разделе Update Node, чтобы участки симулировались корректно. Когда маска готова, применяем ее кнопкой Accept в нижней части окна прорисовки весов.
Анастасия Тучина | 2025 | Нода SimulationDefaultConfig
Важнейшая нода для настройки симуляции SimulationDefaultConfig содержит все параметры для воссоздания физических свойств ткани.
Анастасия Тучина | 2025 | Нода SimulationMaxDistanceConfig
Прорисованная карта весов подсоединяется ко входу Max Distance Weight Map ноды SimulationMaxDistanceConfig.
Анастасия Тучина | 2025 | SimulationCollisionConfi | SetPhysicsAsset | ClothAssetTerminal


Анастасия Тучина | 2025 | Нода SetPhysicsAsset
Подключение Physics Asset необходимо для работы коллизии.
Анастасия Тучина | 2025 | Сетап Cloth Asset Dataflow
Сборка сетапа завершается нодами SimulationCollisionConfig, отвечающей за коллизию; SetPhysicsAsset для импорта физического ассета для корректной работы коллизии; а также ClothAssetTerminal, чтобы симуляция отображалась в окне предпросмотра.
Теперь наглядно видно, как работает собранный сетап.
Анастасия Тучина | 2025 | Сетап с нодой SimulationAerodynamicsConfig
Перед нодой физического ассета также подключилась дополнительно ноду SimulationAerodynamicsConfig, что позволит дополнительно настраивать ветер в симуляции.
Работа с параметрами.


Анастасия Тучина | 2025 | Параметры симуляции по умолчанию
Проводим настройку физических параметров ткани (жесткость, трение, демпфирование) внутри ноды DefaultSimulationConfig для достижения правдоподобной имитации натуральной ткани средней плотности.
В процессе доработки может понадобиться существенное количество итераций, однако скорость обработки Unreal Engine позволяет быстро настраивать параметры и мгновенно видеть, как меняется характер симуляции.
Анастасия Тучина | 2025 | Физический ассет
Важно также работать с физическим ассетом, так как капсулы, отвечающие за коллизию, могут излишне выходить за пределы тела персонажа, либо наоборот не прикрывать какие-либо части. Капсулы можно настроить обычными сочетаниями клавиш для трансформации объектов.


Анастасия Тучина | 2025 | Модель платья с расширенной юбкой | Итоговая модель платья с добавленными складками


Анастасия Тучина | 2025 | Промежуточные параметры
Можно заметить, что на ранних этапах работы над симуляцией возникает множество ошибок, в том числе связанных с моделью самого платья: в данном случае подол юбки оказался узким и провоцировал пересечения со скином персонажа. Чтобы это исправить, потребовалось слегка доработать юбку, расширив ее и «усадив» на тело.


Анастасия Тучина | 2025 | Карта весов для симуляции всей юбки | Карта весов для устранения ошибки коллизии с руками
Симуляция в данном случае — совокупность работы как с параметрами, так и с картой весов, так как если не предотвратить столкновение с кистями рук, могут возникнуть нежелательные пересечения рук и геометрии юбки.
Получается более приятный результат.
Данный сетап довольно прост и, к сожалению, не позволяет до конца избежать лишних пересечений даже с более глубокой работой с параметрами, поэтому можно слегка его пересобрать, чтобы значительно улучшить симуляцию.
Set-Up для более детальной проработки коллизии.
Анастасия Тучина | 2025 | Параметры экспорта


Анастасия Тучина | 2025 | Параметры импорта
Для более тонкой настройки коллизии вместо Physics Asset можно использовать саму геометрию тела персонажа. Для этого необходимо экспортировать его и импортировать назад в сцену особым образом — в качестве Static Mesh вместо Skeletal Mesh [12].
Анастасия Тучина | 2025 | Перенос карты весов на импортированный коллайдер
В уже созданный ранее сетап импортируем созданную для коллизии геометрию тела и переносим на нее карту весов с геометрии тела анимированного персонажа. В левом верхнем углу с помощью кнопки Select создаем новую ноду, чтобы выделить участки тела, участвующие в коллизии.


Анастасия Тучина | 2025 | Выделение участка тела для коллизии | Соединение полученных коллекций
Анастасия Тучина | 2025 | Настройка коллизии
На данном этапе важно обратить внимание на входы ноды SimulationSelfCollisionConfig, чтобы правильно передать параметры с выделенного коллайдера и карты весов платья.


Анастасия Тучина | 2025 | Настройка параметров аеродинамики
Анастасия Тучина | 2025 | Итоговый сетап Cloth Asset Dataflow
Финальные параметры позволили добиться желаемого результата и существенно улучшить симуляцию.


Анастасия Тучина | 2025 | Финальные параметры
В финальной версии отредактированы параметры анимации, чтобы симуляция соответствовала характеру движения персонажа, а также увеличено число итераций симуляции.
Тестирование симуляции в сцене.
Анастасия Тучина | 2025 | Добавление Cloth Component к объекту в сцене
Готовую симуляцию тестируем в сцене на различных вариантах анимации персонажа для наиболее полной проверки полученного результата и более точного выбора параметров.
Благодаря проведенным настройкам симуляция получилась довольно стабильной, а главное, при желании можно практически мгновенно изменить характер движения ткани.