./blender visualizer.blend -P Visualizer.py
私は、リストを受け取り、それに応じてメッシュを作成するためにリストをループするソケットサーバーを持っている私のpythonファイルで、このようなシェルを介してpythonファイルでブレンダーを実行してい
ます。問題はthreading
、ブレンダーのウィンドウが表示されないため、ブレンダーがフリーズしないように使用する必要があることです。しかし、ソケットスレッドからは、例外をスローせずにブレンダーがクラッシュするため、メッシュを作成できません。私も試してみmultiprocessing
ましたが、ブレンダーがフリーズします。ソケットサーバーにデータを受信させ、ブレンダーをフリーズせずにメッシュを作成する方法を知っている人はいますか?
def socket_server(*args):
HOST = '127.0.0.1'
PORT = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
s.bind((HOST, PORT))
s.listen(5)
conn, addr = s.accept()
while 1:
data = conn.recv(16384)
if not data:
break
//creates mesh here
conn.send(b'ok')
time.sleep(1.0)
conn.close()
if __name__ == '__main__':
try:
t = Thread(None, socket_server)#crashes
t.start()
# socket_server() #freezes
# worker = mp.Process(target=socket_server()) #freezes
# worker.daemon = True
# worker.start()
except Exception as e:
print (e)