2009-12-10 39 views
0

我已经在maya中使用下面的代码创建了拖动器上下文,pos保存了我的鼠标光标的2D坐标,我想将它转换为3D坐标以成为我想要发射的射线的源,我希望它可以通过Python脚本或通过Python API ,,如何(在玛雅)我可以得到鼠标的3D位置?

import maya.cmds as mc 

mc.draggerContext('testContext', pressCommand='getCursorPos()', 
        dragCommand='getCursorPos()', cursor='default') 

def getCursorPos(): 

    #--get the 2D position of cursor (on the view port)---- 

    pos = mc.draggerContext('testContext', query=1, dragPoint=1) 

    #----convert to 3D coordinates in the scene-------- 
    ???????? 

在此先感谢

+1

#错误:RuntimeError:file 第4行:# –

回答

0

你有没有审查投影(-PR)为draggerContext选择?

鼠标坐标是跨2维的数据,投影选项是解决第三维如何映射的方法。对于光线,也许下列选项之一是有关您的问题:

x轴项目,在X轴 Y轴项目最近点最近点在Y轴上 Z轴项目在z最接近的点轴

这里的希望有所帮助,祝你好运。

1

其实,你可能想看看空间(sp)标志中的draggerContext命令的帮助。

mc.draggerContext('sampleContext', dragCommand='getCursorPos()', space='world') 

def getCursorPos(): 
    print mc.draggerContext('testContext', query=1, dragPoint=1) 

...应打印在点击的世界空间XYZ值。