gpt4 book ai didi

python - Maya 中多个对象的顶点中心在哪里?

转载 作者:行者123 更新时间:2023-12-01 03:02:54 27 4
gpt4 key购买 nike

我想找到来自 Maya 中多个对象的一系列顶点的中心(我所说的中心是指默认枢轴位置)。我以为是centroid但似乎这并没有返回正确的坐标。

这是一个例子: enter image description here

我选择了四个顶点,即每个球体的两个极点。红色是该顶点的“中心”,Maya 放置默认枢轴的位置,蓝色是我计算的质心。

要么我的计算错误,要么顶点的中心不是质心,无论如何,这些显然不是相同的坐标。这是我的代码:

loc = cmds.spaceLocator ()[0]
vtxList = cmds.ls (sl = True, fl = True)

vtxPosSum = [0, 0, 0]
for vtx in vtxList:
vtxPos = cmds.xform (vtx, q = True, ws = True, t = True)
vtxPosSum[0] += vtxPos[0]
vtxPosSum[1] += vtxPos[1]
vtxPosSum[2] += vtxPos[2]

barycentre = [vtxPosSum[0] / len(vtxList),
vtxPosSum[1] / len(vtxList),
vtxPosSum[2] / len(vtxList)]

cmds.xform (loc, ws = True, t = barycentre)

所以我的问题是,从多个多边形中选择顶点时如何找到默认 Maya 枢轴的位置?

谢谢

最佳答案

我认为在选择多个组件时,Maya 使用边界框的中心作为枢轴中心...我可能是错的,但请尝试一下,看看它是否是正确的位置:

import maya.cmds as mc

sel = mc.ls(sl=True)
bb = mc.exactWorldBoundingBox(sel)
pos = ((bb[0] + bb[3]) / 2, (bb[1] + bb[4]) / 2, (bb[2] + bb[5]) / 2)

pos 将是移动您的定位器(或您正在测试的任何内容)的世界空间 xyz 位置

关于python - Maya 中多个对象的顶点中心在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com