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 <[email protected]> wrote:
> distance --> is (cameraCenter-objectCenter).distance()
> but i need length of perpendicular-projected point to cameraPlane
>>>
>>>
> --
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings:
> http://groups.google.com/group/python_inside_maya/subscribe

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to