我试图从 unity (C# 脚本)运行一个 python 脚本,以便稍后在我的游戏中使用它的输出,这是一个文本文件,问题是,当我在 unity 中运行 C# 脚本时,没有任何反应(Python 脚本在其上运行良好)自己的)。谁能告诉我我错过了什么?
谢谢。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.IO;
using UnityEngine.UI;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.Runtime.InteropServices;
public class PyCx : MonoBehaviour {
public Text Message;
public GameObject OpenPanel1 = null;
// Use this for initialization
void Start () {
python ();
read ();
ShowMessage ();
}
public void python(){
ProcessStartInfo pythonInfo = new ProcessStartInfo ();
Process python;
pythonInfo.FileName=@"C:\Users\HP\AppData\Local\Programs\Python\Python36-32\python.exe";
pythonInfo.Arguments=@"C:\Users\HP\Documents\projet1.pyw";
pythonInfo.CreateNoWindow = false;
pythonInfo.UseShellExecute = false;
python = Process.Start (pythonInfo);
python.WaitForExit ();
python.Close ();
}
public void read(){
using (var reader = new StreamReader ("C://Users//HP//Documents//result.txt")) {
string line = reader.ReadToEnd ();
Message.text = (line);
}
}
public void ShowMessage(){
OpenPanel1.SetActive (true);
Message.IsActive ();
}
// Update is called once per frame
void Update () {
}
}
您可以尝试使用 IronPython 在代码中直接运行 Python,而不是使用在受控开发环境之外可能不可靠的进程(您不知道您的用户是否安装了 Python 以及哪个版本),IronPython 是一个 Python 解释器对于 CLR,因此它甚至不需要安装 Python 来执行脚本。
要使用它,您需要从以下位置下载编译后的二进制文件http://ironpython.net/download/ http://ironpython.net/download/
然后将所有必需的程序集复制到资源文件夹中:
- IronPython.dll
- IronPython.Modules.dll
- Microsoft.Scripting.Core.dll
- 微软脚本.dll
- Microsoft.Scripting.Debugging.dll
- Microsoft.Scripting.ExtensionAttribute.dll
- 微软动态.dll
然后你就可以访问Python引擎了,你可以按如下方式初始化它:
PythonEngine engine = new PythonEngine();
engine.LoadAssembly(Assembly.GetAssembly(typeof(GameObject)));
engine.ExecuteFile("Project1.py");
您可以在这里查看更多信息:http://ironpython.net/documentation/ http://ironpython.net/documentation/
参考
http://shrigsoc.blogspot.com.es/2016/07/ironpython-and-unity.html http://shrigsoc.blogspot.com.es/2016/07/ironpython-and-unity.html
https://forum.unity.com/threads/ironpython-in-unity-a-good-idea.225544/ https://forum.unity.com/threads/ironpython-in-unity-a-good-idea.225544/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)