Render.ru
Поддержать

получение номера вершины по координатам

Erik945

Знаток
Рейтинг
36
Требуется получить номера всех вершин поли-объекта, расположенных в заданной области пространства (для простоты сфера, с известным центром и радиусом).
Конечно, можно перебирать все вершины меша и высчитывать их дистанцию до заданной точки, а потом сравнивать с радиусом, но это долго - как и любой перебор.
Можно ли как-то сделать это быстрее? Как вообще нативное выделение по области работает?

igorznag

Мастер
Рейтинг
103
Объясните подробнее. Для чего вам это нужно?
Можно временно использовать модификатор Volumeselect.
Для вас подходит такой вариант? Пример, в новой сцене запускаем скрипт:
p=plane length:100 width:100  lengthsegs:10 widthsegs:10
s=sphere radius:15 segs:50
addmodifier p (Volumeselect level:1 volume:3 Node:s)
actionMan.executeAction 0 "40472"  -- MAX Script: MAXScript Listener
clearlistener(); for v in p.selectedVerts do print v.index

Erik945

Знаток
Рейтинг
36
Есть два объекта схожей формы, но с разной нумерацией вершин. Эти вершины нужно соотнести, которая какой соответствует. Для некоторых вершин аналоги могут и не найтись.

igorznag

Мастер
Рейтинг
103
Объясните полностью задачу.
Для чего вам нужно соотнести вершины двух объектов?
Вершины одного объекта будут анимированы и нужно перенести анимацию на вершины другого объекта?
Для этого можно использовать модификатор Skin Wrap.
Для вас подходит такой вариант?

Erik945

Знаток
Рейтинг
36
Нет, там идет морфирование одного объекта в другой, после применения нескольких модификаторов, в том числе добавления\удаления лупов и прочей чехарды с топологией. SkinWrap и скрипт Morphix не спасают.

igorznag

Мастер
Рейтинг
103
Скрипт Morphix не работает, потому что объекты имеют разную топологию.
Объясните подробнее почему для вас не подходит модификатор Skin Wrap.
Предоставьте видео со звуком.
Посмотрите видео ниже и объясните в чем проблема использования модификатора Skin Wrap: