使用Python扩展Unity编辑器

 更新时间:2026年06月09日 09:07:10   作者:火雨z  
本文主要介绍了使用Python扩展Unity编辑器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Unity官方发布过一个 Python Scripting 包,为Unity Editor增加了Python脚本支持,不过官方似乎已经不再维护这个包了,最近恰好有空,便试着对这个包做了些扩展。

扩展后的插件包地址:Github - Python Scripting

事先声明:我不熟Python,对package的扩展手法不一定最优,欢迎指正!

使Python IDE支持提示Unity/C# API

没有Python Stubs(存根)时,Python IDE在编写Python代码时无法弹出代码补全提示,也没法查看函数参数。

有无存根的对照(左有,右无):

新增的 PythonStubsGenerator 类实现了生成Python Stubs的功能。通过Unity Editor菜单项 Tools/Python Scripting/Re-Generate Stubs 可以针对当前项目的所有C# API生成存根。生成的存根文件保存在 <PROJECT_ROOT>/Library/PythonScripting/stubs 文件夹中。

生成存根后,还需要在Python IDE中添加配置。以VSCode为例,需要在Python代码文件夹中创建 .vscode 文件夹,并添加 settings.json 文件,内容如下:

注意:此示例中,Python代码文件夹位于Unity项目根目录中,故使用了相对路径 "../Library/PythonScripting/stubs" 。

{
    "python.analysis.extraPaths": [
        "../Library/PythonScripting/stubs"
    ],
    "python.analysis.stubPath": "../Library/PythonScripting/stubs",
    "python.analysis.autoSearchPaths": true,
    "python.analysis.useLibraryCodeForTypes": true,
    "python.analysis.typeCheckingMode": "basic",
    "python.languageServer": "Pylance"
}

使用Python代码制作Editor Window

放着好好的C#不用,反而去写Python,自然是因为项目大了以后,C#的编译耗时太久了。如果能用Python来编写Editor Window,就可以省去编译时间,再也不用在调整工具窗口内容时苦苦等待了!

新增的 PythonEditorWindow 类定义了一些回调接口,在Python侧注册这些回调,即可调用Unity API完成Editor Window的绘制。

在Python Manager窗口中,找到Python Scripting包,导入Python Editor Window示例,然后在Unity Editor菜单项 Samples/Python Scripting/Editor Window 中可以打开示例窗口。

导入后的相关示例代码位于 Assets/Samples/Python Scripting/<PYTHON_SCRIPTING_PACKAGE_VERSION>/Python Editor Window/Editor 文件夹中(注意替换版本号)。

Python脚本浏览器和执行工具

写好了Python工具脚本后,还需要有一个快捷浏览和执行这些脚本的工具。

新增的 Python Scripts 窗口就是做这个的,它可以通过Unity Editor菜单项 Tools/Python Scripting/Python Scripts Window 打开。

首先需要在Project Settings中设置Python脚本的存放文件夹:

然后打开Python Scripts窗口,就可以看到所有Python脚本了:

左侧列表的第一个项目永远是 Script Editor ,选中此项时,可以直接在右侧输入Python代码,然后点击 Execute 按钮执行Python代码。

后续项目则对应着Project中Python脚本的目录结构,点击项目项时,可以预览脚本内容,同样可以点击 Execute 按钮执行Python代码。

到此这篇关于使用Python扩展Unity编辑器的文章就介绍到这了,更多相关Python扩展Unity编辑器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu安装配置MySQL、Python、Nginx的详细过程

    Ubuntu安装配置MySQL、Python、Nginx的详细过程

    这篇文章主要介绍了Ubuntu安装配置MySQL、Python、Nginx的详细过程,还包含了如何解决Navicat无法远程连接的问题,提供了检查Python和Nginx是否已安装的方法,需要的朋友可以参考下
    2025-03-03
  • Python编程pygame模块实现移动的小车示例代码

    Python编程pygame模块实现移动的小车示例代码

    这篇文章主要介绍了Python编程pygame模块实现移动的小车示例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Pandas之drop_duplicates:去除重复项方法

    Pandas之drop_duplicates:去除重复项方法

    下面小编就为大家分享一篇Pandas之drop_duplicates:去除重复项方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 内置函数之随机函数详情

    Python 内置函数之随机函数详情

    这篇文章主要介绍了Python 内置函数之随机函数,文章将围绕Python 内置函数、随机函数的相关资料展开内容,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11
  • Python机器学习之Kmeans基础算法

    Python机器学习之Kmeans基础算法

    这篇文章主要介绍了Python机器学习之Kmeans基础算法,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • python字符串中两个大括号{{}}的使用及说明

    python字符串中两个大括号{{}}的使用及说明

    这篇文章主要介绍了python字符串中两个大括号{{}}的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python向json中追加数据的两种方法总结

    python向json中追加数据的两种方法总结

    JSON用来存储和交换文本信息,比xml更小/更快/更易解析,下面这篇文章主要给大家介绍了关于python向json中追加数据的两种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 详解Open Folder as PyCharm Project怎么添加的方法

    详解Open Folder as PyCharm Project怎么添加的方法

    这篇文章主要介绍了详解Open Folder as PyCharm Project怎么添加的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 利用 Monkey 命令操作屏幕快速滑动

    利用 Monkey 命令操作屏幕快速滑动

    Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
    2016-12-12
  • python小程序基于Jupyter实现天气查询的方法

    python小程序基于Jupyter实现天气查询的方法

    这篇文章主要介绍了python小程序基于Jupyter实现天气查询的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论