你如何编写一个 Maxscript 来获得创建一张脸所需的三个点?
所以你有你的对象,说它有 100 个面。然后脚本应该告诉我哪些点形成每张脸。
另外我想知道两个相邻面之间的角度。
提前致谢
你如何编写一个 Maxscript 来获得创建一张脸所需的三个点?
所以你有你的对象,说它有 100 个面。然后脚本应该告诉我哪些点形成每张脸。
另外我想知道两个相邻面之间的角度。
提前致谢
这实际上是两个独立的问题,但这里有:
此函数将返回一个数组,该数组由一个面索引和一个 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
结构。