Коротко
- Узел Distribute Points on Faces создаёт точки на mesh с гранями.
- В документации Random назван самым быстрым методом, а Poisson Disk учитывает минимальное расстояние между точками.
- Значение Density задаёт число точек на квадратный метр поверхности mesh.
- Instance on Points может использовать повторяющуюся геометрию в каждой точке как ссылку, не копируя данные.
Согласно официальному руководству Blender, узлы Distribute Points on Faces и Instance on Points можно использовать вместе: сначала создать точки на поверхности mesh, а затем разместить на них геометрию. В этом руководстве рассматриваются базовый рабочий процесс в Geometry Nodes и основные настройки. В исходной документации не указана конкретная версия Blender, поэтому описание основано на поведении узлов, изложенном на соответствующих страницах Blender Manual.
1. Используйте mesh с гранями для распределения
К входу Mesh узла Distribute Points on Faces необходимо подключить mesh с гранями. Узел создаёт точки на поверхности, поэтому геометрия без граней для этого входа не подходит. Вход Selection определяет, какие вершины граней будут учитываться при распределении точек. Так область распределения можно ограничить с помощью данных геометрии.
Узел переносит на созданные точки атрибуты точек, вершин и полигонов входной геометрии. Среди этих данных — веса вершин и UV-карты. Кроме того, узел предоставляет выходы Normal и Rotation. Normal передаёт нормаль треугольника, на котором находится точка, а Rotation — построенный на основе этой нормали поворот Euler. Эти выходы можно использовать для задания ориентации в последующих узлах.
Узел также создаёт встроенный атрибут id — постоянный идентификатор каждой точки. Согласно руководству, если mesh деформируется или меняется плотность, идентификаторы точек, которые сохраняются, остаются неизменными. Этот атрибут можно использовать в узлах Random Value и Instance on Points. Поэтому id важен, если на следующих этапах распределения нужно идентифицировать точки.
2. Выберите метод Random или Poisson Disk
Параметр Distribution Method определяет способ распределения точек. Метод Random размещает точки на поверхности случайным образом и назван в документации самым быстрым вариантом. Это удобная отправная точка, если не требуется соблюдать определённое расстояние между точками.
Poisson Disk тоже распределяет точки случайным образом, но учитывает минимальное расстояние между ними. Параметр Distance Min задаёт наименьшее расстояние, на котором точки могут находиться друг от друга. Если Distance Min равен нулю, узел работает так же, как в режиме Random: точки не отбрасываются из-за расстояния между ними.
| Параметр | Рекомендуемое значение | Эффект |
|---|---|---|
| Distribution Method: Random | В источнике фиксированное значение не указано | Распределяет точки случайным образом; в документации назван самым быстрым методом. |
| Distribution Method: Poisson Disk | В источнике фиксированное значение не указано | Учитывает минимальное расстояние между точками. |
| Distance Min | Нулевое значение даёт тот же результат, что и Random | Задаёт минимальное расстояние между точками; доступен только для Poisson Disk. |
| Density | Число точек на квадратный метр | Задаёт плотность распределения точек на каждой поверхности mesh. |
| Seed | В источнике фиксированное значение не указано | Значение случайного seed, используемого для генерации точек. |
В таблицу не добавлены числовые рекомендации, которых нет в документации. Значения следует подбирать с учётом задачи сцены; особенно важно оценивать параметры минимального расстояния и плотности вместе при использовании Poisson Disk.
3. Настройте плотность и границы распределения
Вход Density задаёт число точек, распределяемых на каждом mesh-участке, на квадратный метр. Это значение умножается на значения Density Attribute. Для метода Poisson Disk также доступен вход Density Max: он тоже задаёт плотность точек на квадратный метр и участвует в определении итоговой плотности вместе с Density. Density Max доступен только в режиме Poisson Disk.
Увеличение плотности не всегда приводит к появлению новых точек. В руководстве отмечено, что Distance Min может ограничивать Density Max. Если плотность превышает допустимую с учётом минимального расстояния, новые точки не добавляются. Поэтому, если добиться более плотного распределения не удаётся, стоит проверить не только Density, но и Distance Min.
Seed — это значение случайного seed, используемого при генерации точек. Его можно изменить, если требуется получить другое распределение. Если нужно сохранить текущий результат или сравнить изменения, также проверьте значение Seed. В источнике не приводится рекомендуемое значение этого параметра.
4. Разместите геометрию в точках
Подключите выход Points узла Distribute Points on Faces ко входу Points узла Instance on Points. Геометрию, которую нужно размножить, подключите ко входу Instance. Instance on Points добавляет геометрию в каждую точку как ссылку, не копируя лежащие в её основе данные. В руководстве Blender этот подход описан как быстрый способ многократно использовать одну и ту же геометрию в сцене.
Вход Rotation задаёт поворот каждого экземпляра, а вход Scale — его размер. Выход Rotation узла Distribute Points on Faces можно подключить, чтобы ориентировать экземпляры по нормали поверхности. Однако при построении поворота на основе нормали ось Z может оставаться неопределённой: данных о нормали поверхности недостаточно, чтобы задать все три оси вращения. Поэтому, если экземплярам нужна не только ориентация по поверхности, но и точное выравнивание по всем осям, результат следует проверить.
Instance on Points делает атрибуты точек доступными в области instance созданных экземпляров. Если во входной геометрии есть атрибут id, его значение переносится на выходные экземпляры. Если во входе Points уже содержатся экземпляры, узел может разместить новые экземпляры в точках внутри них; в руководстве это называется вложенным инстансингом.
Если во входе Instance используется геометрия, состоящая из нескольких экземпляров, параметр Pick Instances позволяет выбрать один экземпляр из списка для каждой точки вместо того, чтобы добавлять весь список целиком. Выбор выполняется через Instance Index; этот параметр доступен только при включённом Pick Instances. В руководстве этот сценарий связывается с узлом Collection Info. Отрицательные индексы и индексы, превышающие число элементов в списке, обрабатываются циклически — отсчёт продолжается с другого конца списка. Чтобы преобразовать экземпляры в реальные объекты, можно использовать оператор Make Instances Real.
Чем это полезно в архитектуре и визуализации?
Эта пара узлов даёт процедурную основу для размещения повторяющихся элементов на поверхности mesh и многократного использования одной и той же геометрии в разных точках. В архитектурной визуализации выбор метода зависит от того, требуется ли случайное расположение или заданные минимальные интервалы между точками. Использование Instance позволяет повторять геометрию, не создавая её данные заново для каждой точки; при этом в исходной документации нет замеров производительности или требований к конкретному оборудованию.
В документации не указаны версия Blender, в которой доступны эти узлы, или таблица совместимости. В метаданных страницы руководства указана лицензия CC BY-SA 4.0; это лицензионная информация официальной документации, рассматриваемой здесь. Дополнительных сведений о версии Blender, необходимой для совместимости с используемой установкой и рабочими файлами, в источниках нет.
Распространённые ошибки
Подключать к Distribute Points on Faces геометрию без граней. На входе должен быть mesh с гранями.
Считать, что повышение Density в Poisson Disk обязательно добавит больше точек. Distance Min может ограничивать допустимую плотность.
Ожидать, что при нулевом Distance Min точки будут сохранять расстояние друг от друга. В этом случае узел работает так же, как Random.
Считать, что выход Rotation, полученный из нормали, точно задаёт все оси. Ось Z может оставаться неопределённой.
Всегда воспринимать экземпляры как реальную геометрию. Для преобразования в реальные объекты руководство указывает оператор Make Instances Real.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных бюро и команд визуализации в Турции практическая ценность этого рабочего процесса — в возможности упорядоченно размещать повторяющиеся элементы на поверхностях. Random обеспечивает быстрое распределение, а Poisson Disk подходит для случаев, когда нужно контролировать интервалы. Использование геометрии как ссылки также помогает избежать повторного создания одних и тех же данных для каждой точки.
При этом одного параметра плотности недостаточно, чтобы понять результат: нужно учитывать ограничение Distance Min и то, что поворот, построенный на основе нормали, может быть задан не по всем осям. В источниках нет требований к оборудованию или замеров производительности. Указание лицензии CC BY-SA 4.0 относится к официальному руководству, а не к условиям лицензирования программы Blender. Поскольку версия не указана, командам стоит проверить поведение в собственной установке.
Частые вопросы
Какой узел использовать, чтобы распределить точки по поверхности mesh в Blender?
Узел Distribute Points on Faces создаёт точки на mesh с гранями. Геометрия без граней не подходит для входа Mesh этого узла.
Чем отличаются методы распределения Random и Poisson Disk?
Random назван в документации самым быстрым методом распределения. Poisson Disk учитывает минимальное расстояние между точками; при нулевом Distance Min он работает так же, как Random.
Создаёт ли Instance on Points реальные копии?
Узел может использовать геометрию в точках как ссылку и создавать в сцене множество экземпляров, не копируя одни и те же данные. Для преобразования экземпляров в объекты руководство также указывает оператор Make Instances Real.


