我是 python 新手,所以当我探索这个时,我无法执行这个程序,因为 Maya 崩溃了。我不知道该怎么做更多。每次我在脚本编辑器中执行这个 python 脚本时,我都必须退出 Maya 并重新启动它,因为 de 程序不会响应。
我正在使用的代码是:
import socket
import maya.cmds as cmds
UDP_IP="localhost"
UDP_PORT=6001
sock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM )
sock.bind((UDP_IP, UDP_PORT))
while 1:
data= sock.recv(1024)
print (data)
dataSplit=data.split(';')
print (dataSplit)
myList=[]
for i in range (0, len(dataSplit)):
myList.append(int(dataSplit[i]))
print(myList)
cmds.setAttr('ik_root.moveX',myList[0])
cmds.setAttr('ik_root.moveY',myList[1])
cmds.setAttr('ik_root.moveZ',myList[2])
cmds.refresh()
有什么帮助吗?
最佳答案
简而言之,你有一个无限循环,while 1:
将始终为 1,要解决此问题,只需删除 while 循环,如果确实有需要执行这些任务的条件,请确保在循环中更新它,例如
import socket
import maya.cmds as cmds
UDP_IP="localhost"
UDP_PORT=6001
sock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM )
sock.bind((UDP_IP, UDP_PORT))
apples = 0
while apples = 1:
data= sock.recv(1024)
print (data)
dataSplit=data.split(';')
print (dataSplit)
myList=[]
for i in range (0, len(dataSplit)):
myList.append(int(dataSplit[i]))
print(myList)
cmds.setAttr('ik_root.moveX',myList[0])
cmds.setAttr('ik_root.moveY',myList[1])
cmds.setAttr('ik_root.moveZ',myList[2])
apples = 0
cmds.refresh()
关于python - Python 脚本中的 Maya 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596178/