Есть ли способ отправить данные из Unity C # и Python программы? - PullRequest
1 голос
/ 27 апреля 2019

У меня есть проект Unity, и я хочу отправить положение объекта вместе с некоторыми другими данными из него в проект Python, который будет иметь нейронную сеть, а затем отправит выходные данные обратно в Unity.

данныето, что мне нужно отправить из единицы в python - это позиция объекта (x, y, z) и некоторые bools, может быть, некоторые строки, вывод нейронной сети будет (w, a, s, d), что я и сделалявляется то, что я записал данные в текстовый файл, и питон читает данные из этого файла, но этот путь всегда будет приводить к ошибке, потому что питон должен будет прочитать файл, пока c # пишет, что приведет к ошибке ввода-вывода, другой способ используетбуфер обмена, но это будет целесообразно для небольших данных, но не будет хорошим в моем случае.

c # код <pre></p> <pre><code>void Update() { System.IO.StreamWriter saveFile = new System.IO.StreamWriter("Reading/Positions/PlanePos.txt", false); saveFile.Write(this.transform.position); saveFile.Close(); System.IO.StreamWriter saveFile2 = new System.IO.StreamWriter("Reading/Positions/done.txt", false); if (this.transform.position.y> 2) { leftground = true; } if (leftground) { if (this.transform.position.y < 2) { saveFile2.Write("done"); saveFile2.Flush(); dones.text = "done"; } else { saveFile2.Write("air"); saveFile2.Flush(); dones.text = "air"; } } else { saveFile2.Write("ground"); saveFile2.Flush(); dones.text = "ground"; } saveFile2.Close(); }

Код Python:



    def read_data():
        # reading from file
        file = open("D:/Cs/Grad/Tests/airplane test/Reading/Positions/PlanePos.txt", "r")
        planepos = file.readline()
        file.close()
        file = open("D:/Cs/Grad/Tests/airplane test/Reading/Positions/AirportPosition.txt", "r")
        airportpos = file.readline()
        file.close()
        # ==================================================================
        # spliting and getting numbers
        #plane_X, plane_Y, plane_Z = map(float, planepos.strip('() \n').split(','))
        #airport_X, airport_Y, airport_Z = map(float, airportpos.strip('() \n').split(','))
        planepos=planepos.strip('() \n').split(',')
        airportpos=airportpos.strip('() \n').split(',')
        return planepos[0], planepos[1], planepos[2], airportpos[0], airportpos[1], airportpos[2]

i, за исключением способа отправки данных из Unity в Python и наоборот, как сервер или все, что может сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...