Сопоставьте лицо и отношение лица в MaxScript

Я знаю, что одна вершина может быть назначена нескольким вершинам карты и наоборот.

Но отношение граней и граней карты 1:1?

Я имею в виду, предполагая, что сетка использует только канал карты 1:

local facesCount = polyOp.getNumFaces ePoly
for f = 1 to facesCount do ( 
    ...
)

local mapFacesCount = (polyop.getNumMapFaces ePoly 1)
for u = 1 to mapFacesCount do (
    ...
)

Будут ли f и u повторяться в одном и том же диапазоне? Я проверил это, и mapFacesCount всегда было равно facesCount, но я не уверен, что это правда.

Кроме того, соответствуют ли индексы лиц и индексы лиц карты друг другу?

Я имею в виду, вернет ли (polyOp.getFaceVerts ePoly 10) вершины face #10, а (polyOp.getMapFace ePoly 1 10) даст мне вершины карты для того же face #10?

Или я не могу сказать, что это все еще face #10? Если да, то как "подключить" эти данные? Я хочу получить положение вершин и координаты карты вершин для данного лица.


person PolGraphic    schedule 13.07.2016    source источник


Ответы (1)


Да и да, количество и индексы граней остаются прежними. Хотя у вас могут быть невидимые ребра, определяющие швы карты при использовании редактируемой сетки, это другой случай с редактируемым поли, который не определяется гранями треугольника, а вместо этого имеет полигоны произвольной степени. Поскольку вы не можете разбить полигон таким образом, количество полигонов и порядок не меняются.

Это вершины, которые в основном определяют швы и макет карты, и может быть до sum(face1VertCount..faceNVertCount) вершин, а также может быть только одна вершина для всех граней.

person Swordslayer    schedule 14.07.2016