2012-11-28 2 views
4

블렌더에서 순수 데이터로 TCP 연결을 통해 정보를 전송하는 코드를 찾는 데 도움이 필요합니다. 나는 공을 굴리는 표면을 가지고 있으며 데이터를 절차 적 오디오로 변환하기 위해 TCP를 통해 Pd로 보내려면 공과 충돌의 속도를 잡아야합니다.블렌더 파이썬으로 순수 데이터에 TCP 연결

저는이 작업을 수행 할 수있는 방법을 찾고 있었으며 파이썬에 대한 제한된 이해와 지금까지 (지금 막 시작한) 코딩으로 인해 무슨 일이 일어나고 있는지보기가 어려웠습니다.

지금 heres는 내 질문 :

내가 나를 위해 일하는, 믹서기이를 작성하여 코드의 간단한 문자열을 보낼 수 있다는 사실을 알고 :

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()) 

을 그리고 난 내가 이것을 할 수 있다는 것을 알고 코드는 예를 들어, 내 개체의 좌표를 얻을 : 나는 알아낼 필요가있는 무엇

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() 

내가 순수 데이터를 수신 할 수 있도록 my.send에 정보를 삽입하는 방법입니다. 나는이 작품을 만드는 방법에 대한 웹 사이트를 보았지만 내가 필요한 것을 발견하지 못했습니다. 나는 누군가가 이것에 관심이있을만한 좋은 소스를 가지고 있는지 궁금하거나 누군가가 내 owner.getVelocity()를 tcp 메시지에 통합하는 방법을 알고 있다면?

+0

질문에 대한 답변이 있으시면 답변으로 게시하시기 바랍니다. – Marcin

+0

나는 그것을 지금 할 것이다! :) – Andreas

답변

5

편집 :

나는 지금 PD 내 흐름을 얻고, 내가 내 자신을 해결 생각합니다. 시간에 대한

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() 

감사 : 사람이 관심이 있다면

이 코드입니다!

Andreas