UE4官方的Python插件(Python Editor Script Plugin)
概要
UE4官方提供了使用Python脚本执行一些任务的插件:Python Editor Script Plugin。
本篇是对 《官方文档:Scripting the Editor using Python》 内容的简化与实践。
启用插件
在“Scripting”分栏下,启用“Python Editor Script Plugin”插件,另外也要启用“Editor Scripting Utilities”插件(它为许多常见的编辑器任务提供了简化的 API,详见 《官方文档:Scripting and Automating the Editor》)
启用后需要重启编辑器。
运行Python脚本的多种方式
当启用插件后,可以有多种方式在UE4编辑器内运行Python脚本:
方式1:在“输出日志(Output Log)”中运行Python语句
可以将“输出日志”输入栏切换为Python而非默认的虚幻命令(Cmd)
随后便可以输入并执行Python代码了。
(可用 Shift+Enter 来换行)
例如:
可以使用下面命令打印出当前关卡中的所有Actor:
for a in unreal.EditorLevelLibrary.get_all_level_actors():print(a)
方式2:运行python文件(py命令)
可以使用 虚幻命令(Cmd) 的py
命令来运行python文件。
例如:
可以将下面语句(生成一个点光源Actor并改名)放入一个文件“D:/Temp/Test.py”中:
import unreal
a = unreal.EditorLevelLibrary.spawn_actor_from_class(unreal.PointLight,[0,0,0])
a.set_actor_label("YaksueTestActor")
然后在“输出日志”中使用 虚幻命令(Cmd) 的py
命令:
py "D:/Temp/Test.py"
方式3:运行python文件(菜单)
菜单中执行Python脚本:
然后选择Python文件
方式4:运行python文件(命令行)
可以从命令行或脚本中启动虚幻编辑器,并在命令行参数中指定Python脚本文件。如果你的Python脚本需要额外的命令行参数,可将它们添加在脚本名称后面。
UE4Editor-Cmd.exe路径 "项目路径" -ExecutePythonScript="脚本文件路径"
例如:
可以将下面语句(生成一个材质资源并保存)放入一个文件“D:/Temp/Test2.py”中:
import unreal
#创建Asset
unreal.AssetToolsHelpers.get_asset_tools().create_asset("YaksueTestAsset","/Game/",unreal.Material,None)
#保存Asset
unreal.EditorAssetLibrary.save_asset("/Game/YaksueTestAsset")
然后,按照我这里测试的环境,我的命令如下:
D:\Samples\UnrealEngine-release\Engine\Binaries\Win64\UE4Editor-Cmd.exe "D:\0_WorkSpace\UE4\Test426\Test426.uproject" -ExecutePythonScript="D:\Temp\Test2.py"
随后可见生成了新的资源:
方式5:init_unreal.py 文件
如果编辑器在任何已配置的路径(见官方文档 中的“虚幻编辑器中的Python路径”)中检测到名称为init_unreal.py
的脚本文件,编辑器会立即运行。
方式6:启动脚本
方式7:蓝图接口
API文档
Unreal Python API Documentation — Unreal Python 4.26 (Experimental) documentation
延伸内容
关于UE4的Python,除了官方的插件外,还有第三方的插件:GitHub - 20tab/UnrealEnginePython: Embed Python in Unreal Engine 4
据介绍,此插件和官方的Python插件无关联,且有更多的支持如Slate。原文如下:
Note: this plugin has nothing to do with the experimental ‘PythonScriptPlugin’ included in Unreal Engine >= 4.19. We aim at full integration with engine and editor (included the Slate api, check here: https://github.com/20tab/UnrealEnginePython/blob/master/docs/Slate_API.md), as well as support for the vast majority of python features like asyncio, coroutines, generators, threads and third party modules.
详细情况待研究。
UE4官方的Python插件(Python Editor Script Plugin)相关推荐
- php python插件,Python:开发Sublime插件,方便PHP开发
最近在学习PHP,开发环境选择了Sublime2,开发过程发现执行PHP程序非常不方便,需要自己在浏览器中输入路径以进行调试,这点不如Dreamweaver好使,好在Sublime可以支持插件,自己开 ...
- visual studio code python插件下载_VisualStudioCode插件下载
举例说明(Python插件) Python插件页面 https://marketplace.visualstudio.com/items?itemName=ms-python.python 其中 ${ ...
- vscode 离线安装python插件_vscode for Python插件下载-Visual Studio Code Python插件下载0.9.1 官方版-西西软件下载...
Visual Studio Code免费编程工具可以进行python开发学习,当然Python本身的安装也是必须的,打开VisualStudioCode,按下Ctrl+P打开命令行,然后输入ext i ...
- notepad python_安装Notepad++ Python 插件
安装Notepad++ Python插件 首先我们需要安装 Notepad++ Python 插件,使得Notepad++可以管理python代码,这个插件可以通过Notepad++的插件管理中的&q ...
- vscode使用教程python-VSCode下好用的Python插件及配置_python
这篇文章主要介绍了微软官方的Python插件,已经自带很多功能,下面是插件功能描述,其中部分内容我做了翻译,需要的朋友可以参考下 MS Python插件. 这是微软官方的Python插件,已经自带很多 ...
- VSCode好用的Python插件及配置
MS Python插件. 这是微软官方的Python插件,已经自带很多功能.下面是插件功能描述,其中部分内容我做了翻译. a) Linting (Prospector, Pylint, ...
- 使用eclipse安装python插件_如何为eclipse安装合适版本的python插件pydev
pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...
- visual studio python 插件_Python_Visual_Studio_Code_插件
Visual Studio Code(简称VS Code)是一个由微软开发,跨平台轻量级的代码编辑器.该编辑器支持用户个性化配置,例如改变主题颜色.键盘快捷方式等各种属性和参数,同时还在编辑器中内置了 ...
- excel集成python插件,DataNitro最新版|excel调用Python插件(DataNitro) v1.0免费最新版_星星软件园...
DataNitro是为开发者打造的excel调用python插件,使用这款插件用户可以通过python库来处理电子表格中的数据,无需手工处理就可以完成各种数据的制作.处理或者转换等,这个插件还可以辅助 ...
最新文章
- 软件开发环境-按应用范围分类
- Day9 操作系统介绍
- Java枚举原来还能这么用
- C++(五)——运算符重载
- densepose安装_基于DensePose的姿势转换系统,仅根据一张输入图像和目标姿势
- intellij ide_UltraESB的首选IDE – IntelliJ IDEA
- linux系统分区扩展,linux系统扩展根分区容量大小
- php 显示状态,php-fpm status状态配置显示
- 工业机器人实训耗材_工业机器人实训室
- Visual Studio 2005 重置设置
- C语言基础教程之头文件
- java界面编程(9) ------ 列表框
- 学习Bloom Filter,处理“海量”数据
- 基于OpenCV的人脸识别考勤系统——创业计划书
- 无人值守地磅电子汽车衡中称重系统传感器原理及应用
- java URl 匹配器
- 半导体器件物理期末复习
- Python 乌龟吃鱼问题求解
- 《沧浪之水》:现实从来不怕谁倔犟
- Pre-commit:如何使用 husky、lint-staged和prettier优化你的项目