使用Python

时间:2019-04-11 13:26:24

标签: python render maya

我一直在研究如何将环境分为前景和背景。我一直在考虑获取“与摄像机的距离”的值(通过“显示>平视显示>对象详细信息”),因此我可以使用它与摄像机之间的距离字符值作为指导,将其分为前景和背景。

问题是我不知道如何在python中获得它的价值。那有人可以帮我吗?

我正在使用Maya 2016。

在此命令中我“无”:

import maya.cmds as cmds

print cmds.headsUpDisplay('HUDObjDetDistFromCam', q=1)

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

以外的任何其他导入。