интеграция в гудини, настройка vellum cloth
Original size 1140x1600

интеграция в гудини, настройка vellum cloth

PROTECT STATUS: not protected
This project is a student project at the School of Design or a research project at the School of Design. This project is not commercial and serves educational purposes

в этой главе рассматривается импорт модели и анимации в гудини, сборка веллум солвера, подходящая для большинства случаев

а также визуальные примеры как параметры констрейнов и солвера влияют на внешний вид ткани (bend, stiffness и тд). будут разобраны примеры как настроить более жесткую или более тянущуюся ткань

подготовка геометрии

для начала обратить внимание на несколько пунктов:

1. есть ли толщина на ткани, при необходимости удалить (в последствии ее можно будет добавить уже после симуляции)

big
Original size 1560x560

футболка в разрезе, с толщиной и без

2. избегать self-collision (в а-позе или т-позе одежда не должна проникать друг в друга), иначе симуляция начнется сразу с ошибки

big
Original size 1560x560

нет селф-коллизий

3. анимация загружена в fbx или abc

4. все паттерны соединены между собой (например, рукав не отваливается от остальной футболки) — если не соединены, то воспользоваться нодой fuse

разделение одежды на части

верх и низ желательно просчитывать отдельно, а потом собирать кэши

Original size 1560x560

разделение на части

некоторые части (как накладки, карманы, ботинки, перчатки) можно не симулировать вообще, а деформировать сразу через point deform

Original size 1560x560

деформация через point deform

импорт анимации и создание преролла

общий принцип: 1. настройка констрейнтов 2. симуляция в vellum solver 3. кэш в vellum i/o 4. доработка в vellum post process 5. перенос с лоу-поли на оригинальную геометрию при помощи point deform 6. сборка всех элементов одежды

fbxcharacterimport (импорт анимации и персонажа) + bonedeform

Original size 1560x560

преролл

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

преролл — создание короткой анимации между т-позой и анимированной позой персонажа. необходима для корректной симуляции, так как одежда шьется на т-позе

преролл осуществляется при помощи ноды skeletonblend между т-позой и анимированной позой (около 15 кадров). первый ключ параметра weight ставится на т-позу, а второй на анимированную

в ноде skeletonblend нужно указать, что мы забираем данные только по ротейту костей (либо по rotate и translate)

по определению данные с одного скелета на другой переносятся через аттрибут name, поэтому необходимо иметь одинаковые наименования на всех костях

Original size 1560x560

pin group animation

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

однако если просто запиннить ее, то выйдет, что точки остаются на месте, поэтому анимация на этот участок передается отдельно через point deform где на 1 вход одежда, 2 — timeshift первого кадра анимации, 3 — анимированный коллайдер, после чего это передается в солвере в advanced — target sop path

также необходимо создать vellum pin constraint, в котором будет указана эта группа и проставлена галочка match animation

настройка параметров солвера и констрейнов

общий принцип разделения:

для каждой части констрейны настраиваются отдельно, попарно совмещаются и подаются в солвер

верх — отдельно, низ — отдельно, шнурки/ремни — отдельно

vellum constraints — это условие, которое определяет, как элементы симуляции взаимодействуют друг с другом и сохраняют физические свойства, например, жёсткость, растяжение, изгиб и давление

Original size 1560x560

визуализация pin to target constraint

констрейнты выделяются в виде сфер или линий на тех участках, где они действуют

substeps — это дополнительные промежуточные вычислительные шаги, которые делят основной временной шаг симуляции на более мелкие части. помогают повысить точность и стабильность расчёта динамики ткани

constraint iterations — количество проходов, которые выполняются для решения физических ограничений (constraints) на каждом сабстепе симуляции. чем больше значение, тем точнее и стабильнее будет симуляция, особенно при работе с жёсткими ограничениями

Original size 866x310

substeps / constraint iterations

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

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

bend — это жесткость изгиба, параметр контролирует сопротивление ткани или объекта сгибанию и образованию складок

Original size 720x258

bend stiffness

чем выше значение, тем материал будет более жестким, сохраняющим форму. При низком bend stiffness ткань будет легко гнуться и образовывать складки

stretch — управляет силой, с которой ткань стремится вернуть свою первоначальную длину или форму после растяжения

Original size 866x310

stretch stiffness

высокое значение — препятствует растяжению ткани, создавая более жесткий эффект

низкое значение — увеличивает эластичность, позволяя ткани растягиваться сильнее под воздействием сил или движений (ниже 0.01 симуляция может начать зависать или не проигрываться вообще)

rest length scale — влияет на то, насколько сильно материал будет растягиваться или сжиматься по сравнению с исходным состоянием

Original size 866x310

Rest Length Scale

если scale меньше 1, ткань стремится уменьшиться по размерам; если больше 1 — ткань «расширяется» и растягивается

на что еще можно обратить внимание при настройке:

damping ratio — влияет на то, насколько быстро и эффективно симуляция будет стабилизировать ткань после симуляции

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

vellum i/o — нода для кэширования симуляции

Original size 1560x560

кэш

для кэширования веллума существует отдельная нода, которая записывает не только геометрию, но и констрейнты

vellum post process — это завершающий этап, позволяющий сгладить и исправить симуляцию

Original size 1560x560

vellum postprocess thickness (до/после)

на этапе пост обработки можно добавить нужную толщину, а также сгладить геометрию

Original size 1560x560

vellum postprocess thickness + subdivision (до/после)

однако при сглаживании часто теряется исходная форма и теряется из виду объект коллизии

если необходимо видеть каждую грань, в vellum post process следует настроить параметр detangle

Original size 1560x560

vellum postprocess detangle (до/после)

последним шагом является перенос симуляции с лоу-поли на хай-поли геометрию

Original size 1560x560

перенос симуляции на оригинальную геометрию

интеграция в гудини, настройка vellum cloth
Chapter:
1
2
3
4
5
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more