在 Maxscript 中计算子对象的中心

Calculating the center of subObjects in Maxscript

我选择了一组多边形(称为 myFaces)。之后,我知道我必须将选区转换为具有

的顶点
verts = polyop.getVertsUsingFace $ myFaces

然后使用这些顶点的中心应用任何变换。

如何计算这些顶点的中心?

编辑:我特别需要使用顶点而不是面。

您可以使用 polyop.getFaceCenter

获取面的中心

http://help.autodesk.com/view/3DSMAX/2015/ENU/?guid=__files_GUID_B40F84EA_5F19_45B6_AA7C_0ADC77708BBE_htm

没有捷径,必须自己计算中心,即

fn getSubObjCenter obj verts center:[0, 0, 0] =
(
    for vert in verts do
        center += polyOp.getVert obj vert node:obj
    center / verts.numberSet
)

obj = selection[1]
verts = polyOp.getVertsUsingFace obj #all
getSubObjCenter obj verts