Let me know if I am completely going the wrong way on this...
import maya.OpenMaya as om
import maya.cmds as cmds
cam = cmds.camera(p=(-10,10,5))[0]
loc = cmds.spaceLocator()[0]
cmds.move(6, 2, -8, loc)
cmds.select(cam, loc, r=True)
dag = om.MDagPath()
sel = om.MSelectionList()
om.MGlobal.getActiveSelectionList(sel)
sel.getDagPath(0, dag)
camFn = om.MFnCamera(dag)
sel.getDagPath(1, dag)
tranFn = om.MFnTransform(dag)
p = camFn.eyePoint(om.MSpace.kWorld)
print p.x, p.y, p.z
p2 = tranFn.getTranslation(om.MSpace.kWorld)
print p2.x, p2.y, p2.z
print "Distance:", p.distanceTo(om.MPoint(p2))
print "Depth:", abs(p2.z - p.z)
# Distance: 22.1133443875
# Depth: 13.0
Wouldn't the depth just be the difference in z values between your world points?
On Mon, Aug 27, 2012 at 9:01 AM, vux <
vux...@gmail.com> wrote:
> distance --> is (cameraCenter-objectCenter).distance()
> but i need length of perpendicular-projected point to cameraPlane
>>>
>>>