У меня есть проект 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 и наоборот, как сервер или все, что может сделать это.