在 MaxScript 中映射人脸和人脸关系

Map face and face relationship in 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 (
    ...
)

fu 会在同一范围内迭代吗? 我已经测试过了,它 mapFacesCount 总是相等的 facesCount,但我不确定这是不是真的。

另外,人脸索引和地图人脸索引是否对应?

我的意思是,(polyOp.getFaceVerts ePoly 10) return face #10(polyOp.getMapFace ePoly 1 10) 的顶点会给我相同 face #10 的地图顶点吗?

或者我不能说它仍然是face #10如果是,如何"connect"此数据?我想获取给定面的顶点位置和顶点地图坐标。

是的,是的,面的数量和索引保持不变。尽管在使用可编辑网格时可以使用不可见边定义地图接缝,但可编辑多边形的情况不同,可编辑多边形不是由三角形面定义的,而是具有任意度数的多边形。因为不能像这样分割多边形,所以多边形的数量和顺序不会改变。

基本上定义地图接缝和布局的是顶点,最多可以有 sum(face1VertCount..faceNVertCount) 个顶点——也可以只有一个顶点用于所有顶点面孔。