0

次のコードを使用して Maya でドラッガー コンテキストを作成しました。pos はマウス カーソルの 2D 座標を保持します。それを 3D 座標に変換して、起動したい光線のソースにしたいのですが、Python スクリプトを使用してそれを取得したいのです。またはpython APIを介して、、

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--------
    ????????

前もって感謝します

4

2 に答える 2

1

実際には、 draggerContextコマンドヘルプのspace(sp)フラグを調べたいと思うかもしれません。

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

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

...クリックのワールドスペースXYZ値を出力する必要があります。

于 2011-11-23T17:43:52.383 に答える
0

draggerContext のプロジェクション (-pr) オプションを確認しましたか?

マウス座標は 2 次元にわたるデータであり、投影オプションは 3 次元がどのようにマッピングされるかを解決する方法です。レイの場合、次のオプションのいずれかが質問に関連している可能性があります。

xAxis は X 軸上の最も近い点に投影します yAxis は Y 軸上の最も近い点に投影します zAxis は Z 軸上の最も近い点に投影します

それが助けになることを願っています。

于 2010-03-04T08:47:50.190 に答える