Коротко
- HeightField создаёт двумерные объёмы со значениями высоты и маски.
- HeightField Erode может удалять и переносить материал под воздействием дождя и эрозии; в документации SideFX узел представлен начиная с Houdini 21.0.
- Erosion Feature Size задаёт ширину следов эрозии в метрах.
- Когда симуляция достигает нужного кадра, фиксация результата с помощью Freeze помогает избежать неожиданных результатов в цепочке узлов.
В процедурном рабочем процессе создания и эрозии ландшафта в Houdini можно вместе использовать узлы HeightField, HeightField Erode и HeightField Mask by Feature. В документации SideFX узлы HeightField и Mask by Feature представлены начиная с версии 16.0, а HeightField Erode — с версии 21.0. Это руководство рассказывает, как подготовить основу ландшафта, контролировать эрозию и зафиксировать результат с помощью параметров, описанных в документации.
1. Подготовьте основу HeightField
Узел HeightField создаёт двумерные объёмы height и mask. height представляет высоту ландшафта в каждой точке относительно плоскости земли; значения могут быть отрицательными. mask используется для определения областей, на которые влияют другие узлы ландшафта: при нулевом значении влияние отсутствует, при единице — применяется полностью.
При создании исходной области выбирайте метод задания разрешения с учётом размера ландшафта. By Axis использует заданное число сэмплов вдоль самой длинной оси. By Size размещает сэмплы с указанным интервалом. Grid Samples связан с первым методом, а Grid Spacing — со вторым. SideFX рекомендует задавать масштаб и начальную высоту, исходя из того, что единицы Houdini — это метры; инструменты для работы с ландшафтом и динамика Houdini также рассчитаны на метры.
2. Настройте узел эрозии и задайте масштаб
В документации SideFX один из рекомендуемых способов начать работу — создать предустановку Terrain: Mountain или Terrain: Canyon на полке Terrain FX. Подключите ландшафт, который нужно подвергнуть эрозии, к узлу HeightField Erode. При необходимости маски можно подключить ко второму входу; затем установите для соответствующего параметра значение Mask On и сопоставьте маску с её собственным именем примитива.
Erosion Feature Size задаёт масштаб образующихся каналов, склонов и отложений. Большие значения создают более крупные формы рельефа, а маленькие — более резкие детали. Минимальный размер объекта составляет три вокселя входного ландшафта; значения ниже этого предела обрезаются. Поэтому для получения мелких деталей может быть недостаточно просто уменьшить параметр: проверьте также, подходит ли разрешение входных данных для нужного масштаба.
| Параметр | Рекомендуемое значение | Эффект |
|---|---|---|
| Erosion Feature Size | В зависимости от масштаба нужных форм рельефа; в метрах | Большие значения создают широкие, маленькие — более резкие формы эрозии |
| Spread Iterations | В зависимости от расстояния, на которое должен переместиться материал | Вместе с Erosion Feature Size влияет на расстояние переноса материала за один кадр |
| Iterations | В зависимости от желаемого эффекта эрозии | Увеличение усиливает эффект, но продлевает симуляцию |
| Freeze at Frame | Кадр, в котором нужно зафиксировать результат | Замораживает результат симуляции на указанном кадре |
В документации не указаны универсальные значения этих параметров, подходящие для любой сцены. Поэтому их нужно подбирать с учётом желаемого вида ландшафта и размера входного вокселя.
3. Ограничьте воздействие маской
HeightField Mask by Feature создаёт маску на основе уклона, высоты, кривизны, направления поверхности или данных об окклюзии окружением. Это позволяет ограничить воздействие, например эрозии, выбранными особенностями вместо применения ко всему ландшафту. Если включено несколько критериев, результат формируется по их пересечению.
Для уклона используются нижняя и верхняя границы угла. В маске высоты можно задать минимальную и максимальную высоту; Compute Range помещает в диапазон текущие минимальное и максимальное значения входных данных. Параметр кривизны выделяет области выше заданного значения кривизны. Маска направления учитывает, в какую сторону ориентирована поверхность по горизонтали. В документации указано, что 0 градусов соответствует направлению -X, а +90 градусов — направлению -Z.
Для объединения новой маски с существующей можно использовать методы Replace, Add, Subtract, Multiply и Blend. Важно проверить и выбранные критерии: если не включить ни один из них, узел заполнит маску значением 1. Чтобы избежать нежелательного воздействия на всю область, проверьте критерии и способ объединения с существующей маской.
4. Запустите симуляцию и зафиксируйте результат
После создания предустановки на полке Terrain FX перейдите на начальный кадр и запустите симуляцию с помощью playbar. Когда будет достигнут желаемый вид эрозии, зафиксируйте результат, задав подходящий кадр в Freeze at Frame. При включённом Freeze симуляция рассчитывается от начального кадра до кадра фиксации; при выключенном узел работает инкрементально вместе с playbar.
Для получения следов разного масштаба за одним узлом HeightField Erode можно добавить ещё один. Если задать во втором узле более мелкий масштаб Erosion Feature Size, на крупных формах появятся мелкие детали — такой метод описан в документации. Однако цепочка из нескольких незамороженных узлов HeightField Erode может привести к нарушению порядка вычислений, неожиданным результатам или увеличению времени обработки. Проверяйте результат каждого этапа и фиксируйте нужный выход.
Помимо эродированного height, узел может создавать слои sediment, debris, flow и flowdir. Эти слои можно просматривать с помощью HeightField Visualize или использовать для создания текстур в сетях Copernicus. Параметры Add Debris Layer to Final Height Layer и Add Sediment Layer to Final Height Layer добавляют соответствующие отложения в итоговый слой высоты.
Что это даёт в архитектурном и archviz-процессе?
SideFX не связывает эти инструменты с определёнными типами архитектурных проектов. В качестве редакционной рекомендации этот рабочий процесс можно рассматривать для создания контролируемых форм поверхности в архитектурной визуализации или сцене ландшафта, где топография играет заметную визуальную роль. Слои масок позволяют направлять эрозию в выбранные области, а узлы с разными масштабами — обрабатывать крупные формы и мелкие следы на отдельных этапах.
Перед производством проверьте масштаб проекта, единицы измерения в метрах и размер входного вокселя: минимальная детализация эрозии ограничена размером вокселя. Высокое значение Iterations может усилить эффект, но увеличивает время вычислений. В исходной документации нет сведений о требованиях к оборудованию, лицензировании или совместимости с другими программами. Поэтому вместо предположений о производительности или совместимости отдельно проверьте используемую версию Houdini и рабочий процесс команды.
Распространённые ошибки
Использовать Mask by Feature, не включив ни одного критерия: в результате маска заполняется значением 1.
Пытаться уменьшить
Erosion Feature Sizeниже предела, заданного размером вокселя: размер элемента не может быть меньше трёх вокселей.Последовательно запускать несколько узлов HeightField Erode, не фиксируя результат: возможны проблемы с порядком вычислений и обработкой.
Увеличивать
Iterations, не учитывая время обработки: усиление эрозии может продлить симуляцию.
Источники
Источников: 3Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных команд, создающих ландшафты в Houdini, практическое преимущество заключается в возможности контролировать крупные формы рельефа и мелкие следы эрозии на разных этапах с помощью отдельных узлов. Слои масок также помогают направлять эрозию в выбранные области, поэтому не обязательно придавать всей поверхности одинаковый характер.
Офисам в Турции перед применением стоит проверить разрешение, масштаб и число итераций на небольших тестах. Поскольку в документации не указаны требования к оборудованию или лицензированию, не следует предполагать конкретную стоимость системы. Фиксация результатов при построении цепочки узлов и подбор разрешения под нужный уровень детализации помогут сократить лишние вычисления и избежать неожиданных результатов.
Частые вопросы
Начиная с какой версии в документации описан Houdini HeightField Erode?
В документации SideFX узел HeightField Erode представлен начиная с версии 21.0.
Как зафиксировать эрозию HeightField в Houdini?
Когда симуляция достигнет нужного кадра, включите Freeze и задайте этот кадр в параметре Freeze at Frame. При включённом Freeze симуляция рассчитывается от начального кадра до указанного.
Какие области можно выбирать с помощью HeightField Mask by Feature?
Узел может создавать маску по уклону, высоте, кривизне, направлению поверхности и критериям окклюзии. Если включено несколько критериев, результат рассчитывается по их пересечению.



