В рамках улучшения понимания MaxScriptHelp, разбираемся с одним из методов

Модификатор EditPoly

Из справки MaxScript:

Geometry Data Methods

<index>GetEdgeVertex <index>edgeID <index>end node:<node>

node default value: undefined -- undefined - значение ноды по умолчанию

Returns the indexed vertex shared by the specified edge. -- Возвращает индекс вершины, используемой ребром.

 

Разбираемся:

Работающий код:

p = Plane() -- создадим примитив плоскость

addModifier p (Edit_Poly ()) -- применим модификатор Edit_Poly

obj = $.modifiers[#Edit_Poly] -- засунем модификатор в переменную obj

obj.GetEdgeVertex 1 1 -- Вернётся 6. Возвращается индекс первой из двух вершин указанного ребра

obj.GetEdgeVertex 1 2 -- Вернётся 1. Возвращается индекс второй из двух вершин указанного ребра

obj.GetEdgeVertex 39 1 -- Вернётся 25. Возвращается индекс первой из двух вершин указанного ребра

obj.GetEdgeVertex 39 2 -- Вернётся 24. Возвращается индекс второй из двух вершин указанного ребра

 

Как видим, конструкцию из хэлпа,

<index>GetEdgeVertex <index>edgeID <index>end node:<node> не возможно использовать прямо в том виде, как она представлена в качестве маски для подстановки переменных, поэтому разложим всё по порядку.

<index> -- возвращаемое значение (в данном случае индекс вершины)

GetEdgeVertex -- функция, которой передаются параметры

<index>edgeID -- индекс ребра

<index>end -- одна из двух вершин указанного ребра (в данном случае она есть или 1 или 2)

node:<node> -- нода, или сам объект, в котором применяется эта функция

 

А вот получается как из этого можно сконструировать маску для сборки кода:

<node>. GetEdgeVertex <index>edgeID <index>end

<> - такие скобки в хэлпе означают, что это обязательный параметр, необходимый для работы функции.

[] - квадратные скобки (если такие есть) - это опциональный (необязательный, дополнительный) параметр

 

Аналогичный метод есть и в Editable Poly

Раздел Get Edge

<index><EditablePoly>.GetEdgeVertex <index>edgeID <index>end

Returns the vertex index used by the specified edge. -- Возвращает индекс вершины, используемой ребром.

Since an edge has two vertices, the end argument is needed to define which of the two vertices of the edge to get.

-- Поскольку ребро имеет две вершины, конечный аргумент нужен, чтобы определить, какой из двух вершин ребра получить.

 

EXAMPLE:

p = convertToPoly(Plane()) --create a Plane, convert to Epoly

p.GetEdgeVertex 1 1 --returns vertex 6

p.GetEdgeVertex 1 2 --returns vertex 1

p.GetEdgeVertex 4 1 --returns vertex 1

p.GetEdgeVertex 4 2 --returns vertex 2

 

_______________________________________________________________


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: