0
我正在使用Python和Maya 2015,並且我很好奇在用戶拖動Maya變換小部件時如何動態記錄對象的變換。我也很好奇,在使用腳本的時候,你可能有一個用戶啓動轉換部件,然後腳本會記錄一個對象的用戶輸入變換,並在腳本的其他區域使用這些數字。謝謝。使用Python在Maya中記錄用戶輸入的動態變換數據
我正在使用Python和Maya 2015,並且我很好奇在用戶拖動Maya變換小部件時如何動態記錄對象的變換。我也很好奇,在使用腳本的時候,你可能有一個用戶啓動轉換部件,然後腳本會記錄一個對象的用戶輸入變換,並在腳本的其他區域使用這些數字。謝謝。使用Python在Maya中記錄用戶輸入的動態變換數據
有沒有簡單的方法來做到這一點。但是,您可以使用不完善的draggerContext命令進行僞造。基本上你想創建一個draggerContext和使用setToolTo
import maya.cmds as cmds
def on_drag():
# handler for the drag action
dragPosition = cmds.draggerContext('dragger', q=True, dragPoint=True)
button = cmds.draggerContext('dragger', q=True, button=True)
modifier = cmds.draggerContext('dragger', q=True, modifier=True)
# print out the values...
print dragPosition, button, modifier
message = str(dragPosition[0]) + ", " + str(dragPosition[1])
cmds.draggerContext('dragger', edit=True, drawString=message)
# Define draggerContext with press and drag procedures
cmds.draggerContext('dragger', dragCommand=on_drag, cursor='hand');
cmds.setToolTo('dragger')
在這個版本中,你會用代碼替換打印輸出到移動選定的對象,並記錄位置將其激活。 draggerContext
有一些選項可讓您從光標位置獲得正確的投影到三維空間,但您必須花費一些努力確保行爲符合您的要求。
非常感謝,我會試驗這個。很酷。 – winteralfs
如果您覺得它有用,您應該將答案標記爲未來遇到此問題的人接受 – theodox