我正在创建一个GUI,它将在预制的软管上创建一个样条曲线。其目的是模拟液压动力机器中的移动软管。此脚本旨在使创建线条更有效,而不必在3个默认视口中手动定位它们。
我要问的是,在选择了一组顶点之后,我能够如何调用视图窗口中显示的值。这是我的意思的一个例子:
我的目标是获取所有选定顶点的平均值并将它们放在一个列表中,然后我将继续沿着软管的长度选择这些顶点。最终我将得到一个顶点值的完整列表,我将创建一个与这些位置值匹配的样条曲线,这样我就可以在创建后使用贝塞尔曲线工具对它们进行变形。我只是想知道如何将红色圆圈内的值调用为maxscript中的值并在我的GUI中使用它。如果我还不够清楚,请评论。感谢您提供任何建议!
答案 0 :(得分:2)
如果您的网格折叠为可编辑网格或可编辑多边形,则可以使用此方法:
fn averageSelVertPosition obj =
(
verts = obj.selectedVerts
p = Point3 0 0 0
for v in verts do
(
p += v.pos
)
p = p/verts.count
return p
)
它将返回指定节点的所选顶点的平均位置的Point3值。
如果您正在使用和edit_poly修饰符,则可能需要使用多边形。你可以在这里了解:http://docs.autodesk.com/3DSMAX/16/ENU/MAXScript-Help/index.html?url=files/GUID-B40F84EA-5F19-45B6-AA7C-0ADC77708BBE.htm,topicNumber=d30e394721
方法是一样的。
平均他们的位置:
2.a:将他们的位置(Point3)加在一起
2.b:除以顶点数。
-
如果您需要任何进一步的帮助,请与我们联系。