我一直在研究如何将环境分为前景和背景。我一直在考虑获取“与摄像机的距离”的值(通过“显示>平视显示>对象详细信息”),因此我可以使用它与摄像机之间的距离字符值作为指导,将其分为前景和背景。
问题是我不知道如何在python中获得它的价值。那有人可以帮我吗?
我正在使用Maya 2016。
在此命令中我“无”:
import maya.cmds as cmds
print cmds.headsUpDisplay('HUDObjDetDistFromCam', q=1)
答案 0 :(得分:1)
您可以自己计算出它,而不是试图劫持与相机的物距。
import math
import maya.cmds as cmds
def distance_to_camera(obj, cam):
cam_pos = cmds.xform(cam, t=True, ws=True, q=True)
object_pos = cmds.xform(obj, t=True, ws=True, q=True)
raw_dist = [a-b for a, b in zip(cam_pos, object_pos)]
return math.sqrt (sum([a**2 for a in raw_dist]))
distance_to_camera('pCube1','persp')
raw_dist = [a-b for a, b in zip(cam_pos, object_pos)]
正在获取两个由3个数字(位置)组成的列表,并从另一个列表中与之相反的数字中减去一个列表中的每个项目。
math.sqrt (sum([a**2 for a in raw_dist]))
是raw_dist
中三个数字的平方的平方根,即距离。您可以使用Maya API进行此操作,但是此版本不需要math