1

你如何编写一个 Maxscript 来获得创建一张脸所需的三个点?

所以你有你的对象,说它有 100 个面。然后脚本应该告诉我哪些点形成每张脸。

另外我想知道两个相邻面之间的角度。

提前致谢

4

1 回答 1

0

这实际上是两个独立的问题,但这里有:

此函数将返回一个数组,该数组由一个面索引和一个 point3 值组成,该值描述了创建该面的顶点的索引。

fn GetAllFaceVertices meshObj = 
(   
    for v = 1 to m.numVerts collect #(v, getFace v) 
)

此函数将返回两个面之间的角度。它通过获取每个面的法线然后返回两个法线的点积的反余弦来实现。

fn GetFaceAngles meshObj faceA faceB =
(
    local nA = getFaceNormal meshObj faceA
    local nB = getFaceNormal meshObj faceB
    acos (dot nA nB)
)

请注意,这两个函数都需要一个editable mesh对象。如果你需要对一个editable poly对象进行操作,有类似的方法使用polyop结构。

于 2012-01-10T12:44:37.270 回答