Коротко
- Vellum Constraints SOP создаёт ограничения между точками для ткани, волос и мягких тел.
- В первые два входа Vellum Solver подаются поверхностная геометрия и соответствующая ей геометрия ограничений; третий вход предназначен для геометрии столкновений.
- При чрезмерном растяжении SideFX рекомендует попробовать значение Substeps 2 или 5.
- В документации SideFX для большинства случаев указано 10 Collision Passes, а значение по умолчанию для Smoothing Iterations — 10.
В официальной документации SideFX по Houdini описаны функции Vellum Constraints SOP и Vellum Solver при симуляции ткани, волос и мягких тел. Для обоих узлов в документации указано «Since 17.0». В этом руководстве рассматриваются основные этапы: от сопоставления входной геометрии Vellum до настройки ограничений и параметров решателя. Названия параметров и рекомендации приведены только в том виде, в каком они описаны в документации SideFX.
1. Сопоставьте поверхностную геометрию и ограничения
В симуляции Vellum видимая геометрия и геометрия ограничений передаются через отдельные входы и выходы. Vellum Constraints SOP создаёт на входной геометрии выбранные типы ограничений. Поверхностная геометрия находится на первом входе и выходе, а геометрия ограничений — на втором. Между этими двумя наборами геометрии должно быть установлено взаимно однозначное соответствие точек.
Подготовьте поверхностную геометрию, которую нужно симулировать.
Создайте подходящие для этой геометрии ограничения с помощью Vellum Constraints SOP.
Подключите поверхностную геометрию к первому входу Vellum Solver, а к соответствующему второму входу — геометрию с точками и связями ограничений. Точки можно сопоставлять по номерам или атрибуту
id.Передайте геометрию столкновений на третий вход. Топология этой геометрии должна совпадать между кадрами; SideFX также отмечает, что распознаются некоторые типы упакованной геометрии.
Такой порядок подключений — не просто формальность: решатель использует это соответствие, чтобы связать симулируемые точки с точками, к которым относятся ограничения. Если не проверить соответствие до изменения остальных параметров, определить источник проблемы может быть сложнее.
2. Выберите тип ограничений с учётом поведения материала
Для ткани параметр Cloth создаёт одновременно ограничения расстояния вдоль рёбер и ограничения на изгиб вдоль треугольников. При симуляции волос параметр Hair включает ограничения расстояния вдоль рёбер, изгиба между рёбрами и кручения. String — более лёгкий вариант ограничений для волос, не включающий ограничение кручения, поэтому рёбра могут свободно поворачиваться.
Для мягких тел Tetrahedral Volume создаёт ограничение, которое помогает сохранять объём каждого тетраэдра. Однако этот вариант не включает ограничения сдвига и растяжения. Если требуется контролировать и эти характеристики, нужны дополнительные ограничения расстояния. При работе с тетраэдральной геометрией перед этим узлом обязательно нужно добавить Tet Conform SOP, чтобы подготовить структуру; разрешение тетраэдральной сетки задаёт Max Tet Scale.
В настройках ткани параметр Stretch Type позволяет выбрать тип ограничения растяжения. В документации сказано, что Triangle Stretch на высокой разрешающей способности ткани может быстрее приближаться к целевой жёсткости, но не поддерживает анизотропию через Enable Warp/Weft. Вариант Angle в Bend Type сохраняет начальный двугранный угол между треугольниками и в значительной степени не зависит от топологии. Distance может работать быстрее, но влияет на поведение начального угла и топологии, а также не позволяет восстановиться после переворота треугольников.
3. Настройте модель решения и шаги симуляции
Для Triangle Stretch, Tetrahedral Stretch и Tetrahedral Fiber можно выбрать Model. SideFX описывает Linear ARAP как вариант, который обычно лучше работает в жёстких и мало растягивающихся случаях. Scale-Invariant ARAP нацелен на схожее поведение жёсткости при разных масштабах и, согласно документации, обычно подходит для большинства материалов. Выбирайте модель с учётом используемого типа ограничений и желаемого поведения.
Substeps задаёт, на сколько подшагов делится каждый кадр. Быстрые столкновения или внезапные силы могут потребовать большего количества подшагов. Если симуляция чрезмерно растягивается, SideFX рекомендует в качестве первых пробных значений Substeps 2 или 5. Constraint Iterations задаёт, сколько раз ограничения применяются на каждом подшаге; для жёстких ограничений может потребоваться больше проходов. В документации для первоначальной оценки предлагается учитывать диаметр геометрии, то есть количество рёбер между наиболее удалёнными точками.
| Параметр | Рекомендуемое значение | Эффект |
|---|---|---|
| Substeps | Для начала попробуйте 2 или 5 | Помогает повысить качество решения при чрезмерном растяжении, быстрых столкновениях и внезапных силах. |
| Collision Passes | В большинстве случаев 10 | Определяет количество проверок столкновений между проходами ограничений. |
| Smoothing Iterations | По умолчанию — 10 проходов | Помогает равномернее распределить несходящуюся ошибку; при высоких значениях Constraint Iterations может потребоваться увеличить этот параметр. |
| Post Collision Passes | Количество слоёв + 2 | Примерная оценка из документации для заключительной очистки столкновений. |
Поскольку проходы столкновений затратны, не увеличивайте Collision Passes автоматически — сначала выясните характер проблемы. SideFX считает 10 проходов подходящим значением в большинстве случаев и отмечает, что для повышения качества часто лучше увеличить Substeps. Для наложенных друг на друга слоёв документация предлагает использовать количество слоёв плюс 2 в качестве приблизительного начального значения Post Collision Passes.
4. Как адаптировать настройки к рабочему процессу архитектуры и визуализации?
Команды, создающие в архитектурных сценах симулированные элементы из ткани или мягких тел, могут использовать эти настройки, чтобы определить, какие движения будут ограничены. Например, отдельная оценка параметров растяжения и изгиба ткани помогает контролировать реакцию геометрии сцены. Это не означает, что Vellum разработан специально для архитектурной визуализации; здесь речь идёт о том, как можно применять описанные в документации универсальные инструменты симуляции в процессе создания визуализаций.
В тестовой сцене сначала проверьте соответствие геометрии и ограничений, затем тип ограничений и, наконец, параметры решателя. Так будет проще отслеживать влияние изменений настроек на результат. Global Substeps можно использовать, когда нужно экспортировать геометрию с подшагами или задать специальные подшаги для коллайдеров. Однако в этом случае на каждый кадр расходуется больше памяти, поскольку сохраняются все подшаги. В документации SideFX нет сведений об условиях лицензирования или требованиях к оборудованию, поэтому эти вопросы нужно проверять отдельно.
Частые ошибки
Запускать симуляцию, не проверив соответствие точек поверхностной геометрии и геометрии ограничений. Точки должны сопоставляться по номерам или атрибуту
id.Предполагать, что ограничение Tetrahedral Volume также решает проблемы растяжения и сдвига. Оно предназначено для сохранения объёма; могут понадобиться дополнительные ограничения расстояния.
Повышать Collision Passes при любой проблеме со столкновениями. Проходы столкновений затратны; в некоторых случаях уместнее увеличить Substeps.
Использовать Global Substeps, не учитывая влияние на память. Этот параметр сохраняет все промежуточные шаги и требует больше памяти на каждый кадр.
Выбирать Triangle Stretch для ограничений Cloth и ожидать анизотропии через Enable Warp/Weft. В документации указано, что такая комбинация не поддерживает анизотропию.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
При оценке настроек Vellum в студиях самый практичный подход — сначала понять, что именно сохраняют ограничения, и только потом увеличивать количество проходов решателя. Так можно более контролируемо тестировать поведение ткани или мягкого тела и не применять одни и те же настройки для решения любой проблемы.
Планирование использования памяти особенно важно при работе с Global Substeps: в документации SideFX указано, что этот параметр увеличивает расход памяти на кадр. Поэтому разумно сначала проверить в сцене необходимое разрешение и потребность в подшагах. В приведённых источниках нет сведений о требованиях к лицензии и оборудованию; перед принятием инвестиционного решения их следует уточнить отдельно.
Частые вопросы
Какой параметр попробовать, если симуляция Houdini Vellum чрезмерно растягивается?
Сначала проверьте соответствие точек поверхностной геометрии и геометрии ограничений. Если проблема сохраняется, попробуйте значение Substeps 2 или 5 — один из вариантов, рекомендованных SideFX для начала.
Что подключается к трём входам Vellum Solver?
На первый вход подаётся симулируемая поверхностная геометрия, на второй — соответствующие ей точки и связи ограничений. Третий вход предназначен для геометрии столкновений; её топология должна совпадать между кадрами.
Достаточно ли одного Tetrahedral Volume для симуляции мягкого тела?
Нет. Согласно документации SideFX, это ограничение сохраняет объём, но не включает ограничения сдвига и растяжения. Для контроля этих характеристик нужны дополнительные ограничения расстояния.



