2016-06-23 17 views
0

私は、Maya用のPythonツールを作成することについて興味深いです。ユーザがマウスの左ボタンでクリックするたびにキューブを作成するための基本入力をユーザから検出する必要があります。しかし、問題は私がそれを行う方法がわからないということです。私はPythonに関して良い知識を持っていますが、それではありません...pythonを使用したクリック検出(maya 3D用)

誰かが私を助けることができれば素晴らしいでしょう! ありがとうございます!

+1

最初にクリックしてください。それはあなたのためのキューブを生成する必要があります –

答えて

1

あなたはdraggerContextに頼ることができますし、... :)それについてしかし、ここでは、最小限の実施例であるあらゆるところ結果がある十分を検索する場合..

def createCubesForFun(): 
    x, y, z = tuple(cmds.draggerContext('cubeFunCtx', query=1, dragPoint=1)) 
    newBox = cmds.polyCube() 
    cmds.setAttr("%s.t" % newBox[0], x, y, z) 

cmds.draggerContext('cubeFunCtx', dragCommand='createCubesForFun()', space='world')  
cmds.setToolTo('cubeFunCtx') 
0

私はPyQtは一緒に行くことができると思います。フォーカスウィジェットの検出クリックすると、選択したものが見つかります。

import sip 
import maya.cmds as cmds 
import maya.OpenMayaUI as apiUI 
from PyQt4 import QtGui, QtCore 


def getMayaWindow(): 
    """Get the maya main window as a QMainWindow instance""" 
    ptr = apiUI.MQtUtil.mainWindow() 
    return sip.wrapinstance(long(ptr), QtCore.QObject) 


def getFocusWidget(): 
    """Get the currently focused widget""" 
    return QtGui.qApp.focusWidget() 


def getWidgetAtMouse(): 
    """Get the widget under the mouse""" 
    currentPos = QtGui.QCursor().pos() 
    widget = QtGui.qApp.widgetAt(currentPos) 
    return widget 

# This is the syntax to find the right click button 
# QtGui.qApp.mouseButtons() & QtCore.Qt.RightButton 
関連する問題