2016-06-23 16 views
0

Ich bin interessant über ein Python-Tool für Maya, und ich muss eine Klickeingabe von Benutzer erkennen, grundsätzlich um einen Würfel jedes Mal zu erstellen, wenn der Benutzer mit seiner linken Maustaste klicken . Aber das Problem ist, dass ich nicht weiß, wie es geht. Ich habe gute Kenntnisse über Python, aber nicht mit ...Klickerkennung mit Python (für Maya 3D)

Wenn jemand mir helfen könnte, wird es wunderbar sein! Vielen Dank im Voraus!

+1

Versuchen Sie, zuerst zu klicken. Das sollte einen Würfel für dich erzeugen –

Antwort

1

Sie können auf draggerContext verlassen und wenn Sie genug dort Suchergebnis sind allenthalben über das :) .. Aber hier ist minimal Arbeitsbeispiel ..

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

Ich glaube, Sie mit PyQt gehen kann. Einige Fokus-Widget erkennen. Und dann auf klicken, finden Sie, was auch immer ausgewählt ist

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