python tcp network-programming blender puredata

Conexión TCP a datos puros con Blender Python



network-programming puredata (1)

Necesito ayuda para descifrar mi código para enviar información de Blender a través de una conexión TCP a Pure Data. Tengo una superficie con una bola rodando sobre ella y necesito agarrar la velocidad de la bola y sus colisiones para enviarla a TCP a Pd con el fin de convertir los datos en audio de procedimiento.

He estado buscando formas posibles de hacerlo y debido a mi muy limitado conocimiento de python y codificación hasta el momento (recién comencé), me resulta muy difícil ver qué está pasando.

Ahora aquí está mi pregunta:

Sé que puedo enviar una simple cadena de código escribiendo esto en Blender, que funcionó para mí:

import socket host =''127.0.0.1'' port = 50007 msg = ''345;'' s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) try: s.connect((host,port)) s.send(msg.encode())

Y sé que puedo hacer este código para obtener, por ejemplo, las coordenadas de mi objeto:

import bge def main(): cont = bge.logic.getCurrentController() owner = cont.owner vel = owner.getVelocity() x = (vel [0]) y = (vel [1]) z = (vel [2]) print (x+y+z) main()

Lo que necesito averiguar es cómo insertar esa información en my.send para poder recibirla en Pure Data. He visto sitios web sobre cómo hacer que esto funcione pero no he encontrado lo que necesitaba. Me pregunto si alguien tiene algunas buenas fuentes que podrían interesarle, o si alguien sabe cómo integrar mi owner.getVelocity () en el mensaje tcp.


EDITAR:

Creo que lo resolví por mi cuenta, estoy obteniendo mi flujo de datos en PD ahora.

si alguien está interesado, este es el código:

import bge import socket cont = bge.logic.getCurrentController() owner = cont.owner vel = owner.getVelocity() x = (vel [0]) y = (vel [1]) z = (vel [2]) added = x+y+z print (added) tsr = str(added) tsr += '';'' host = ''127.0.0.1'' port = 50007 msg = ''123456;'' s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) s.send(tsr.encode()) s.shutdown(0) s.close()

¡gracias por tu tiempo!

Andreas