如果我错了,请纠正我,但是当您从 meshFace 节点调用 getArea() 时,它不会返回相对于当前场景单位的区域,而是相对于其自身的比例。
例如:
如果我创建一个场景单位设置为米的盒子,那么这个盒子的比例是 1,1,1。
有了这个盒子,我打电话:
#Assuming you selected only faces from the scene.
import pymel.core as pm
selected = pm.ls(selection = True, flatten = True)
totalFaceArea = 0
for face in selected:
totalFaceArea = totalFaceArea + face.getArea(space = "world")
print selected
print totalFaceArea
但是,如果我将场景单位更改为厘米,那么比例不会改变(这是有道理的)。问题是该区域似乎来自比例而不是它在场景中占用的空间量,因此当您更改场景单位时该区域不会改变。
你们知道一种补偿场景单元变化的方法或一种在场景单元中获取面部区域的方法吗?
谢谢!