XPBD-Решатель (XPBD solver)

Нода ":abbr:`XPBD-Решатель (XPBD Solver)`".

Нода „XPBD Solver“ предоставляет систему физической симуляции для волос, ткани и частиц. Она реализует алгоритм «расширенной динамики на основе позиций» (XPBD).

Данная нода используется в экспериментальных нодовых ассетах „Hair Dynamics“ и „Cloth Dynamics“.

Нода ожидает поступления данных в виде типизированных связок через входной сокет „World“. Эти данные включают компоненты симулируемой геометрии, объявления структурных ограничений для этой геометрии, а также внешние эффекторы, такие как затухание и столкновения.

Нода „XPBD Solver“ сложна и предназначена для использования внутри более удобных для пользователя ассетов. Полную документацию по её работе и поддерживаемым компонентам входа „World“ можно найти в документации для разработчиков.

Входы (inputs)

Мир (world)

Связка геометрии, поведений и эффекторов, составляющих симуляцию. Связки могут быть вложенными друг в друга; данные мира не обязаны следовать какой-либо строгой структуре. Геометрию и эффекторы можно сгруппировать в логические подсвязки или хранить в виде плоской связки.

Дельта времени (delta time)

Размер общего временного шага в секундах. Величина шага подразделяется, если используется значение „Substeps“ больше „1“.

Фильтр (filter)

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

Из симуляции в мир (simulation to world)

Опциональное преобразование из локального пространства объекта в пространство симуляции. Оно определяет систему координат, в которой происходят все физические расчёты. Все атрибуты геометрии, силы и прочие свойства должны быть предварительно преобразованы соответствующим образом. Геометрия коллайдеров преобразуется в пространство симуляции автоматически внутри самой ноды.

Решатель (solver)

Подшагов (substeps)

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

Итераций ограничений (constraint iterations)

Количество итераций, выполняемых решателем ограничений для обеспечения выполнения всех условий. Если остаточная погрешность превышает „1“, рекомендуется увеличить число итераций.

Путь (path)

Опциональный путь вывода для данных результата решателя. Если путь не пустой, – в вывод „World“ добавляется новый пакет данных с результатами шага симуляции.

Диапазон интерполяции (interpolation range)

Начало (begin)

Дробное начало интервала подшага. Может использоваться для выполнения внешнего цикла подшагов.

Начало (begin)

Дробный конец интервала подшага. Может использоваться для выполнения внешнего цикла подшагов.

Выходы (outputs)

Мир (world)

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

Если задан вход „Path“, – в связке может быть сохранена дополнительная информация о результате симуляции, включая значение остаточной погрешности, которое отражает точность вычислений.