Коротко
- Sample Index получает значения, вычисленные для указанных индексов исходной геометрии.
- Geometry Proximity вычисляет ближайшую точку на целевой геометрии и расстояние до неё.
- Raycast отправляет лучи из контекста исходной геометрии к целевой и возвращает данные о пересечениях.
- Руководство Blender рекомендует в большинстве случаев использовать Evaluate at Index вместо Sample Index, если узлы работают в контексте одной и той же геометрии.
Чему вы научитесь в этом руководстве?
Узлы сэмплирования в Geometry Nodes используются для получения данных о взаимосвязях между геометрией и точками. В этом руководстве рассмотрим три узла: Sample Index считывает значения для указанных индексов; Geometry Proximity возвращает ближайшую точку и расстояние до неё; Raycast проверяет, пересекают ли лучи целевую геометрию.
Если рассматривать эти узлы с точки зрения архитектурного моделирования и визуализации, выбрать подходящий становится проще. Например, сопоставление точек двух геометрий по индексам, измерение расстояния объекта до поверхности и поиск пересечения с целевой поверхностью в заданном направлении — это разные задачи. Узлы не взаимозаменяемы: выбор зависит от того, какие данные нужно получить.
Требования и охват источников
Источники — страницы руководства Blender с описанием функций узлов Geometry Nodes. Сведения о Sample Index, Geometry Proximity и Raycast взяты из страниц руководства «latest». Другая страница руководства, обозначенная как Blender 5.2 LTS, содержит оглавление раздела Sample Geometry Nodes; подробные описания узлов из неё не извлекались.
Поэтому материал сосредоточен на функциях этих узлов и важных нюансах работы с данными. В источниках не указаны конкретный файл проекта, дополнение, требования к вычислениям или сведения о стоимости. Примеры для архитектуры ниже — сценарии использования, которые помогают наглядно объяснить работу узлов; готовая настройка фасада или интерьера в источниках не описана.
Перед началом определите, из какой геометрии будут считываться данные, где будет использоваться результат и что именно нужно получить. Требуется передать значение позиции или атрибута, найти ближайшую точку или проверить пересечение в заданном направлении? Ответы на эти вопросы помогут сформулировать цель настройки.
1. Получение значений по индексам с помощью Sample Index
Sample Index извлекает из исходной геометрии значения, соответствующие выбранным индексам. Вход Geometry задаёт геометрию, из которой берутся данные; Value — поле, вычисляемое для этой геометрии; Index — индексы, по которым выполняется выборка. Выход Value возвращает значения, полученные из исходной геометрии. Тип данных и область, в которой оценивается выборка, также относятся к настройкам узла.
Представьте, что нужно передать значения позиций из одной геометрии в другую в архитектурной модели. Сначала задайте поле, которое требуется считать из исходной геометрии, и индексы для сопоставления значений. Такой подход устанавливает связь между двумя геометриями на основе индексов, однако соответствие индексов одним и тем же физическим точкам зависит от структуры геометрий. Согласно руководству Blender, этот способ лучше всего работает, когда у двух геометрий совпадают число точек и топология.
Поэтому не считайте соответствие индексов корректным лишь потому, что объекты похожи по форме. Если число точек или топология различаются, один и тот же индекс в двух геометриях может соответствовать разным позициям. Подключение разных индексов ко входу Index меняет порядок значений; используйте такой подход, только если именно такое соответствие ожидается.
Ещё одна важная деталь — способ, которым Sample Index вычисляет поле Point. Оно является общим для компонентов Mesh, Point Cloud и Curve; узел проверяет первый непустой компонент в порядке Mesh, Point Cloud, Curve. Если нужно выполнять выборку из определённого компонента, можно разделить компоненты с помощью узла Separate Components.
Если геометрия на входе Geometry совпадает с геометрией, для которой вычисляется поле, руководство обычно рекомендует вместо этого узел Evaluate at Index. Отказ от сокета геометрии в таком варианте может упростить повторное использование и совместное применение настройки в других ситуациях. Поэтому перед использованием Sample Index проверьте, действительно ли требуется брать значения из другой исходной геометрии.
2. Поиск ближайшей точки с помощью Geometry Proximity
Geometry Proximity вычисляет ближайшую точку на целевой геометрии. Вход Geometry задаёт геометрию для поиска, а Sample Position — исходную позицию, относительно которой нужно найти ближайшую точку. Основные выходы — Position и Distance: первый возвращает ближайшую точку на цели, второй — расстояние от исходной позиции до неё. Выход Is Valid сообщает, успешно ли выполнена выборка; если группа, в которой выполняется поиск, пуста, операция может завершиться неудачно.
Например, если для точек возле поверхности нужно получить информацию о расстоянии, задайте целевую геометрию и позиции, от которых будет выполняться измерение. Затем продумайте, как использовать выход Distance на следующем этапе. Узел Map Range может помочь создать эффект, интенсивность которого уменьшается с расстоянием; руководство Blender отдельно отмечает такой способ применения. Диапазоны значений следует выбирать с учётом используемой геометрии и поставленной задачи.
Параметр Target Element позволяет выбрать, относительно какого типа элементов цели вычисляется близость. В режиме Faces ближайшая точка ищется на поверхностях целевого меша, в Edges — на рёбрах, а в Points — на точках или вершинах. Согласно руководству, режим Points в большинстве случаев самый быстрый и работает как с мешами, так и с геометрией типа point cloud. Режимы Faces и Edges доступны только для мешей. Если нужна ближайшая точка именно на поверхности, не считайте, что режим Points даст тот же результат.
У узла также есть входы Group ID и Sample Group ID. Group ID разделяет элементы входной геометрии на группы, а Sample Group ID определяет, в какой группе искать ближайший элемент. При настройке групп учитывайте, какие элементы ограничивают эти входы.
3. Проверка пересечений с помощью Raycast
Raycast отправляет лучи из контекста геометрии, к которой подключён узел, в целевой меш. Target Geometry задаёт геометрию, с которой проверяются пересечения. Source Position определяет начальную точку каждого луча, Ray Direction — направление, а Ray Length — максимальную дистанцию, которую луч может пройти до того, как пересечение будет учтено. Если Source Position не подключён, начало луча определяется так, как если бы был подключён узел Position.
Если нужно проверить пересечение от части модели до противоположной поверхности, задайте начальную позицию, направление и длину луча в соответствии с задачей. Is Hit показывает для каждого луча, достиг ли он цели. При пересечении Hit Position возвращает точку пересечения, Hit Normal — нормаль поверхности, а Hit Distance — расстояние от начала луча до точки пересечения. Если луч не попадает в цель, Hit Distance возвращает заданное значение Ray Length.
Если требуется также получить значение поля целевой поверхности в точке пересечения, можно использовать вход Attribute. Поле, заданное на этом входе, вычисляется на целевой геометрии и переносится в точки пересечения, после чего доступно на выходе Attribute. Параметр Interpolation определяет, как атрибуты целевого меша переносятся в результат: Interpolated плавно интерполирует значения вершин и значений «вершина—грань», а Nearest выбирает значение ближайшей вершины.
Применение в архитектуре и archviz
При работе с элементами фасада, интерьера или геометрией сцены сначала определите, какая связь вам нужна. Sample Index может подойти для получения значений по индексам из геометрий с одинаковой топологией и числом точек. Geometry Proximity лучше выбрать, если требуется расстояние до поверхности или ближайшая точка; Raycast — если нужно проверить достижение целевой геометрии в заданном направлении и получить данные о пересечении.
Перед переходом к производственной сцене проверьте тип целевой геометрии и компонент, с которым работает узел. На результат влияют выбор Target Element в Geometry Proximity, соответствие индексов и топологии в Sample Index, а также начальная позиция, направление и длина луча в Raycast. Эти детали особенно важны для команд моделирования, создающих повторно используемые настройки геометрии, и archviz-художников, экспериментирующих с эффектами, привязанными к поверхности. В руководствах нет сведений о требованиях к оборудованию, лицензировании или совместимости с другими программами, поэтому не следует делать предположений на эти темы.
Типичные ошибки
Если при использовании Sample Index не проверить число точек и топологию, могут возникнуть неожиданные соответствия индексов.
Если не учитывать, что для поля Point может использоваться первый непустой компонент, данные могут быть получены не из того компонента.
Если выбран режим Faces или Edges в Geometry Proximity, но целевая геометрия не проверена на тип Mesh, ожидаемый результат может оказаться недостижимым.
Интерпретировать значение расстояния в Raycast без проверки Is Hit может быть ошибочно: при отсутствии пересечения Hit Distance возвращает длину луча.
Если игнорировать значение Is Valid в Geometry Proximity, можно не заметить, что группа для выборки пуста.
Что делать дальше
Сначала протестируйте узлы по отдельности на простой геометрии. Для Sample Index начните с геометрий, у которых совпадают число точек и топология. В Geometry Proximity сравните, какие цели используются в режимах Points, Faces и Edges. В Raycast проследите, как начальная позиция, направление и длина влияют на результат пересечения.
Если результат отличается от ожидаемого, проверяйте не только визуальный вывод, но и контрольные значения вроде Is Valid и Is Hit, выбранный целевой компонент и используемое поле. Переход к более сложным сценам до того, как станет понятно, что именно сэмплирует узел, усложняет поиск источника ошибки.
Источник и лицензия
Руководство адаптировано на турецкий язык на основе описаний на страницах Blender Manual, посвящённых Sample Index, Geometry Proximity и Raycast; эти страницы относятся к руководству «latest». Страница Blender 5.2 LTS Manual использована как источник списка узлов в разделе Sample Geometry Nodes. Исходные документы распространяются по лицензии CC BY-SA 4.0.
Источники
Источников: 3Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Практическая польза этих узлов для архитектурных и визуализационных команд — возможность прозрачно и повторно использовать связи между элементами геометрии. Измерение расстояния и проверка пересечений с поверхностью могут помочь решить конкретные задачи при работе с фасадами или интерьерами, однако результат зависит не столько от названия узла, сколько от правильного выбора целевой геометрии и поля.
Офисам и студентам в Турции важно учитывать не только начальные затраты, но и время на обучение и эксперименты. Источники не содержат сведений об оборудовании, стоимости лицензии или требованиях к совместимости, поэтому не стоит делать выводы по этим вопросам. Самый надёжный подход — проверить соответствие индексов, тип цели и параметры пересечения на небольших примерах, прежде чем переходить к рабочим файлам.
Частые вопросы
Для чего нужен Sample Index в Blender Geometry Nodes?
Он получает значения, вычисленные для заданных индексов исходной геометрии. При сопоставлении двух геометрий совпадение числа точек и топологии помогает получить ожидаемый результат.
В чём разница между Geometry Proximity и Raycast?
Geometry Proximity вычисляет ближайшую точку и расстояние до неё. Raycast отправляет луч в целевую геометрию из заданной начальной точки в определённом направлении и возвращает сведения о пересечении.
С какими типами геометрии работает Geometry Proximity?
Режим Points работает с мешами и геометрией типа point cloud. Режимы Faces и Edges можно использовать только с мешами.



