概要

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)相关推荐

  1. php python插件,Python:开发Sublime插件,方便PHP开发

    最近在学习PHP,开发环境选择了Sublime2,开发过程发现执行PHP程序非常不方便,需要自己在浏览器中输入路径以进行调试,这点不如Dreamweaver好使,好在Sublime可以支持插件,自己开 ...

  2. visual studio code python插件下载_VisualStudioCode插件下载

    举例说明(Python插件) Python插件页面 https://marketplace.visualstudio.com/items?itemName=ms-python.python 其中 ${ ...

  3. vscode 离线安装python插件_vscode for Python插件下载-Visual Studio Code Python插件下载0.9.1 官方版-西西软件下载...

    Visual Studio Code免费编程工具可以进行python开发学习,当然Python本身的安装也是必须的,打开VisualStudioCode,按下Ctrl+P打开命令行,然后输入ext i ...

  4. notepad python_安装Notepad++ Python 插件

    安装Notepad++ Python插件 首先我们需要安装 Notepad++ Python 插件,使得Notepad++可以管理python代码,这个插件可以通过Notepad++的插件管理中的&q ...

  5. vscode使用教程python-VSCode下好用的Python插件及配置_python

    这篇文章主要介绍了微软官方的Python插件,已经自带很多功能,下面是插件功能描述,其中部分内容我做了翻译,需要的朋友可以参考下 MS Python插件. 这是微软官方的Python插件,已经自带很多 ...

  6. VSCode好用的Python插件及配置

    MS Python插件. 这是微软官方的Python插件,已经自带很多功能.下面是插件功能描述,其中部分内容我做了翻译. a)        Linting (Prospector, Pylint,  ...

  7. 使用eclipse安装python插件_如何为eclipse安装合适版本的python插件pydev

    pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...

  8. visual studio python 插件_Python_Visual_Studio_Code_插件

    Visual Studio Code(简称VS Code)是一个由微软开发,跨平台轻量级的代码编辑器.该编辑器支持用户个性化配置,例如改变主题颜色.键盘快捷方式等各种属性和参数,同时还在编辑器中内置了 ...

  9. excel集成python插件,DataNitro最新版|excel调用Python插件(DataNitro) v1.0免费最新版_星星软件园...

    DataNitro是为开发者打造的excel调用python插件,使用这款插件用户可以通过python库来处理电子表格中的数据,无需手工处理就可以完成各种数据的制作.处理或者转换等,这个插件还可以辅助 ...

最新文章

  1. 软件开发环境-按应用范围分类
  2. Day9 操作系统介绍
  3. Java枚举原来还能这么用
  4. C++(五)——运算符重载
  5. densepose安装_基于DensePose的姿势转换系统,仅根据一张输入图像和目标姿势
  6. intellij ide_UltraESB的首选IDE – IntelliJ IDEA
  7. linux系统分区扩展,linux系统扩展根分区容量大小
  8. php 显示状态,php-fpm status状态配置显示
  9. 工业机器人实训耗材_工业机器人实训室
  10. Visual Studio 2005 重置设置
  11. C语言基础教程之头文件
  12. java界面编程(9) ------ 列表框
  13. 学习Bloom Filter,处理“海量”数据
  14. 基于OpenCV的人脸识别考勤系统——创业计划书
  15. 无人值守地磅电子汽车衡中称重系统传感器原理及应用
  16. java URl 匹配器
  17. 半导体器件物理期末复习
  18. Python 乌龟吃鱼问题求解
  19. 《沧浪之水》:现实从来不怕谁倔犟
  20. Pre-commit:如何使用 husky、lint-staged和prettier优化你的项目

热门文章

  1. 100+ 道Python练习题
  2. 安科瑞EMS能效管理平台的优势有哪些?
  3. python random randint_python函数深入浅出 17.random.randint()函数详解
  4. 【C++】STL中deque底层剖析
  5. 利用markdown语法和html语法特性来美化文章
  6. 【Unity植物大战僵尸】铲除植物的铲子开发(二十一)
  7. wp-admin文件下
  8. pom文件没有报红,但是右边的maven里面的依赖报红
  9. Java学习路线!java大数据开发心得,2021最新版!
  10. MySQL数据库基础与安装