一、前言
在使用 Unity 做仿真或可视化时,经常希望:
- Unity 负责界面和交互
- Python 负责算法或逻辑处理(特别是设计深度学习和图像处理相关的算法)
本文记录一个最基础、最容易理解的 Unity 与 Python 互通示例:在 Unity 中点击按钮,执行 Python 代码,并在 Unity 中看到结果。
二、实现效果
实现的功能非常简单:
- Unity 场景中设置一个按钮(Button)
- 点击按钮后:
- Unity 显示 Hello World
- Python 代码被执行
- Python 在 Unity Console 中输出信息
三、准备工作
1. Unity 环境
- Unity 已安装
- 项目中已启用 TextMeshPro
2. Python 环境
- 本机已安装 Python
- Unity 中启用了 Python 支持(Unity Editor Python)
四、Unity 脚本代码
1. 新建脚本 Test.cs
using UnityEngine;
using TMPro;
using UnityEditor.Scripting.Python;
public class Test : MonoBehaviour
{
public TextMeshProUGUI text;
// 按钮点击时调用
public void OnButtonClick()
{
// 在 Unity UI 中显示文字
if (text != null)
{
text.text = "Hello World";
}
// 调用 Python 代码
PythonRunner.RunString(@"
import UnityEngine
UnityEngine.Debug.Log('Hello World from Python')
");
}
}
说明:
OnButtonClick()是按钮点击时调用的方法TextMeshProUGUI用于修改界面文字PythonRunner.RunString()用于在 Unity 中执行 Python 代码
创建方式如下:在 Assets 中右键,创建脚本即可。









